diff options
-rw-r--r-- | dw/fltkviewbase.cc | 9 | ||||
-rw-r--r-- | dw/fltkviewport.cc | 6 |
2 files changed, 5 insertions, 10 deletions
diff --git a/dw/fltkviewbase.cc b/dw/fltkviewbase.cc index c3aa6007..30a19d58 100644 --- a/dw/fltkviewbase.cc +++ b/dw/fltkviewbase.cc @@ -367,13 +367,8 @@ int FltkViewBase::handle (int event) focused_child = fl_oldfocus; return 0; case FL_KEYBOARD: - if (Fl::event_key() == FL_Tab) { - if (Fl::event_ctrl()) { - // the UI will handle it - return 0; - } else - return manageTabToFocus(); - } + if (Fl::event_key() == FL_Tab) + return manageTabToFocus(); break; default: break; diff --git a/dw/fltkviewport.cc b/dw/fltkviewport.cc index 5a58565e..c173ad50 100644 --- a/dw/fltkviewport.cc +++ b/dw/fltkviewport.cc @@ -238,9 +238,9 @@ int FltkViewport::handle (int event) * sends the event here. Returning zero tells FLTK to resend the * event as SHORTCUT, which we finally route to the parent. */ - /* As we don't know the exact keybindings set by the user, we ask - * for all of them (except Tab to keep form navigation). */ - if (Fl::event_key() != FL_Tab) + /* As we don't know the exact keybindings set by the user, we ask for + * all of them (except for the minimum needed to keep form navigation).*/ + if (Fl::event_key() != FL_Tab || Fl::event_ctrl()) return 0; break; |