aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/keys.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/keys.cc b/src/keys.cc
index a8b0b7ad..5b69f794 100644
--- a/src/keys.cc
+++ b/src/keys.cc
@@ -156,15 +156,17 @@ KeysCommand_t Keys::getKeyCmd()
{
KeysCommand_t ret = KEYS_NOP;
KeyBinding_t keyNode;
+ // We're only interested in some flags
+ keyNode.modifier = fltk::event_state() &
+ (fltk::SHIFT | fltk::CTRL | fltk::ALT | fltk::META);
- if (fltk::event_state() == fltk::SHIFT &&
+ if (keyNode.modifier == fltk::SHIFT &&
ispunct(fltk::event_text()[0])) {
// Get key code for a shifted character
keyNode.key = fltk::event_text()[0];
keyNode.modifier = 0;
} else {
keyNode.key = fltk::event_key();
- keyNode.modifier = fltk::event_state();
}
_MSG("getKeyCmd: key=%d, mod=%d\n", keyNode.key, keyNode.modifier);