diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-18 09:43:03 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-02-18 09:43:03 -0500 |
commit | dd7649a4090ba4c5e59ffc76e20ccaf96981705d (patch) | |
tree | 52ac11ae610fdbc926f4e5d150aac8247a7b26fe /libs/gtkmm2ext/keyboard.cc | |
parent | 801a7ea7c4a2bcbe659e399b2092a5776ee57045 (diff) |
add a static utility function (should really be in utils.cc and public) to show modifier state in english; use said function
Diffstat (limited to 'libs/gtkmm2ext/keyboard.cc')
-rw-r--r-- | libs/gtkmm2ext/keyboard.cc | 63 |
1 files changed, 61 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/keyboard.cc b/libs/gtkmm2ext/keyboard.cc index 37ca6dbfb6..3d329faa0d 100644 --- a/libs/gtkmm2ext/keyboard.cc +++ b/libs/gtkmm2ext/keyboard.cc @@ -238,6 +238,65 @@ Keyboard::_snooper (GtkWidget *widget, GdkEventKey *event, gpointer data) return ((Keyboard *) data)->snooper (widget, event); } +static string +show_gdk_event_state (int state) +{ + string s; + if (state & GDK_SHIFT_MASK) { + s += "+SHIFT"; + } + if (state & GDK_LOCK_MASK) { + s += "+LOCK"; + } + if (state & GDK_CONTROL_MASK) { + s += "+CONTROL"; + } + if (state & GDK_MOD1_MASK) { + s += "+MOD1"; + } + if (state & GDK_MOD2_MASK) { + s += "+MOD2"; + } + if (state & GDK_MOD3_MASK) { + s += "+MOD3"; + } + if (state & GDK_MOD4_MASK) { + s += "+MOD4"; + } + if (state & GDK_MOD5_MASK) { + s += "+MOD5"; + } + if (state & GDK_BUTTON1_MASK) { + s += "+BUTTON1"; + } + if (state & GDK_BUTTON2_MASK) { + s += "+BUTTON2"; + } + if (state & GDK_BUTTON3_MASK) { + s += "+BUTTON3"; + } + if (state & GDK_BUTTON4_MASK) { + s += "+BUTTON4"; + } + if (state & GDK_BUTTON5_MASK) { + s += "+BUTTON5"; + } + if (state & GDK_SUPER_MASK) { + s += "+SUPER"; + } + if (state & GDK_HYPER_MASK) { + s += "+HYPER"; + } + if (state & GDK_META_MASK) { + s += "+META"; + } + if (state & GDK_RELEASE_MASK) { + s += "+RELEASE"; + } + + return s; +} + gint Keyboard::snooper (GtkWidget *widget, GdkEventKey *event) { @@ -247,9 +306,9 @@ Keyboard::snooper (GtkWidget *widget, GdkEventKey *event) DEBUG_TRACE ( DEBUG::Keyboard, string_compose ( - "Snoop widget %1 name: [%6] key %2 type %3 state %4 magic %5\n", + "Snoop widget %1 name: [%6] key %2 [%8] type %3 state %4 [%7] magic %5\n", widget, event->keyval, event->type, event->state, _some_magic_widget_has_focus, - gtk_widget_get_name (widget) + gtk_widget_get_name (widget), show_gdk_event_state (event->state), gdk_keyval_name (event->keyval) ) ); |