summaryrefslogtreecommitdiffstats
path: root/src/newt/native/InputEvent.h
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2012-09-16 21:13:51 +0200
committerSven Gothel <[email protected]>2012-09-16 21:13:51 +0200
commit646714d3dab87396b9a3119bf90ca26e0b1c97ce (patch)
tree678209f657c5f3bfa29e54c171565488a15f9951 /src/newt/native/InputEvent.h
parentf2bd50ff25009de477a203460abe8a5597acdbc5 (diff)
Fix Bug 601: Harmonize order of key events incl. auto-repeat and adding AUTOREPEAT_MASK modifier bit. Refine InputEvent toString(..) and list modifiers by name.
As now described in NEWT's KeyEvent: +/** + * Key events are delivered in the following order: + * <ol> + * <li>{@link #EVENT_KEY_PRESSED}</li> + * <li>{@link #EVENT_KEY_RELEASED}</li> + * <li>{@link #EVENT_KEY_TYPED}</li> + * </ol> + * In case the native platform does not + * deliver keyboard events in the above order or skip events, + * the NEWT driver will reorder and inject synthetic events if required. + * <p> + * Besides regular modifiers like {@link InputEvent##SHIFT_MASK} etc., + * the {@link InputEvent#AUTOREPEAT_MASK} bit is added if repetition is detected. + * </p> + */
Diffstat (limited to 'src/newt/native/InputEvent.h')
-rw-r--r--src/newt/native/InputEvent.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/newt/native/InputEvent.h b/src/newt/native/InputEvent.h
index b42c06d21..51c56c474 100644
--- a/src/newt/native/InputEvent.h
+++ b/src/newt/native/InputEvent.h
@@ -34,13 +34,19 @@
#ifndef _INPUT_EVENT_H_
#define _INPUT_EVENT_H_
-#define EVENT_SHIFT_MASK 1
-#define EVENT_CTRL_MASK 2
-#define EVENT_META_MASK 4
-#define EVENT_ALT_MASK 8
-#define EVENT_ALT_GRAPH_MASK 32
-#define EVENT_BUTTON1_MASK (1<<6)
-#define EVENT_BUTTON2_MASK (1<<7)
-#define EVENT_BUTTON3_MASK (1<<8)
+#define EVENT_SHIFT_MASK (1 << 0)
+#define EVENT_CTRL_MASK (1 << 1)
+#define EVENT_META_MASK (1 << 2)
+#define EVENT_ALT_MASK (1 << 3)
+#define EVENT_ALT_GRAPH_MASK (1 << 5)
+#define EVENT_BUTTON1_MASK (1 << 6)
+#define EVENT_BUTTON2_MASK (1 << 7)
+#define EVENT_BUTTON3_MASK (1 << 8)
+#define EVENT_BUTTON4_MASK (1 << 9)
+#define EVENT_BUTTON5_MASK (1 << 10)
+#define EVENT_BUTTON6_MASK (1 << 11)
+#define EVENT_AUTOREPEAT_MASK (1 << 15)
+#define EVENT_CONFINED_MASK (1 << 16)
+#define EVENT_INVISIBLE_MASK (1 << 17)
#endif