make evtest print useful names of modifiers rather than hex values

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@10567 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-11-13 15:00:54 +00:00
parent 6a851f5a64
commit ad11e100b6
1 changed files with 67 additions and 6 deletions

View File

@ -1,8 +1,69 @@
#include <string>
#include <gtkmm.h>
#include <iostream>
using namespace std;
string
print_state (int state)
{
string str;
if (state & GDK_SHIFT_MASK) {
str += "shift ";
}
if (state & GDK_LOCK_MASK) {
str += "lock ";
}
if (state & GDK_CONTROL_MASK) {
str += "control ";
}
if (state & GDK_MOD1_MASK) {
str += "mod1 ";
}
if (state & GDK_MOD2_MASK) {
str += "mod2 ";
}
if (state & GDK_MOD3_MASK) {
str += "mod3 ";
}
if (state & GDK_MOD4_MASK) {
str += "mod4 ";
}
if (state & GDK_MOD5_MASK) {
str += "mod5 ";
}
if (state & GDK_BUTTON1_MASK) {
str += "button1 ";
}
if (state & GDK_BUTTON2_MASK) {
str += "button2 ";
}
if (state & GDK_BUTTON3_MASK) {
str += "button3 ";
}
if (state & GDK_BUTTON4_MASK) {
str += "button4 ";
}
if (state & GDK_BUTTON5_MASK) {
str += "button5 ";
}
if (state & GDK_SUPER_MASK) {
str += "super ";
}
if (state & GDK_HYPER_MASK) {
str += "hyper ";
}
if (state & GDK_META_MASK) {
str += "meta ";
}
if (state & GDK_RELEASE_MASK) {
str += "release ";
}
return str;
}
bool
print_event (GdkEvent* event)
{
@ -16,7 +77,7 @@ print_event (GdkEvent* event)
cerr << "2-Button press, button = "
<< event->button.button
<< " state "
<< event->button.state
<< print_state (event->button.state)
<< endl;
break;
@ -24,7 +85,7 @@ print_event (GdkEvent* event)
cerr << "Button press, button = "
<< event->button.button
<< " state "
<< event->button.state
<< print_state (event->button.state)
<< endl;
break;
@ -32,7 +93,7 @@ print_event (GdkEvent* event)
cerr << "Button release, button = "
<< event->button.button
<< " state "
<< event->button.state
<< print_state (event->button.state)
<< endl;
break;
@ -40,7 +101,7 @@ print_event (GdkEvent* event)
cerr << "Scroll: direction = "
<< event->scroll.direction
<< " state = "
<< event->scroll.state
<< print_state (event->scroll.state)
<< endl;
break;
@ -50,7 +111,7 @@ print_event (GdkEvent* event)
<< " name "
<< ((kstr = gdk_keyval_name (event->key.keyval)) ? kstr : "UNKNOWN KEY")
<< " state = "
<< event->key.state
<< print_state (event->key.state)
<< " hw keycode = "
<< event->key.hardware_keycode
<< " string = "
@ -64,7 +125,7 @@ print_event (GdkEvent* event)
<< " name "
<< ((kstr = gdk_keyval_name (event->key.keyval)) ? kstr : "UNKNOWN KEY")
<< " state = "
<< event->key.state
<< print_state (event->key.state)
<< " hw keycode = "
<< event->key.hardware_keycode
<< " string = "