summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Group.H7
-rw-r--r--src/Fl_Group.cxx4
2 files changed, 9 insertions, 2 deletions
diff --git a/FL/Fl_Group.H b/FL/Fl_Group.H
index 3eec15118..3e6a669bc 100644
--- a/FL/Fl_Group.H
+++ b/FL/Fl_Group.H
@@ -30,8 +30,13 @@
The Fl_Group class is the FLTK container widget. It maintains
an array of child widgets. These children can themselves be any widget
including Fl_Group. The most important subclass of Fl_Group
- is Fl_Window, however groups can also be used to control radio buttons
+ is Fl_Window, however groups can also be used to control radio buttons
or to enforce resize behavior.
+
+ The tab and arrow keys are used to move the focus between widgets of
+ this group, and to other groups. The only modifier grabbed is shift
+ (for shift-tab), so that ctrl-tab, alt-up, and such are free
+ for the app to use as shortcuts.
*/
class FL_EXPORT Fl_Group : public Fl_Widget {
diff --git a/src/Fl_Group.cxx b/src/Fl_Group.cxx
index 695a5c48d..7b10dc9f3 100644
--- a/src/Fl_Group.cxx
+++ b/src/Fl_Group.cxx
@@ -122,8 +122,10 @@ static int send(Fl_Widget* o, int event) {
}
// translate the current keystroke into up/down/left/right for navigation:
-#define ctrl(x) (x^0x40)
static int navkey() {
+ // The app may want these for hotkeys, check key state
+ if (Fl::event_state(FL_CTRL | FL_ALT | FL_META)) return 0;
+
switch (Fl::event_key()) {
case 0: // not an FL_KEYBOARD/FL_SHORTCUT event
break;