diff options
author | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-05 20:13:13 +0000 |
---|---|---|
committer | Jon TURNEY <jon.turney@dronecode.org.uk> | 2012-11-21 14:02:34 +0000 |
commit | fb5f7090dde7796e7591ea04921e536189fc3113 (patch) | |
tree | 75f10e0aa140d34eeba1ff710dbe455c3b4f0cca | |
parent | 7337d436035e9833060eb7690bd6f319c8fdfe2c (diff) |
Improve XCB_(KEY|BUTTON)_(PRESS|RELEASE) event reporting
Handle XCB_KEY_RELEASE as well as XCB_KEY_PRESS
Reporting keycode as a character isn't that helpful, use a number instead
Use correct datatype for each event
Report XID in hex
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
-rw-r--r-- | src/libxcwm/event_loop.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/libxcwm/event_loop.c b/src/libxcwm/event_loop.c index 544983f..3c0d50b 100644 --- a/src/libxcwm/event_loop.c +++ b/src/libxcwm/event_loop.c @@ -477,9 +477,19 @@ run_event_loop(void *thread_arg_struct) case XCB_KEY_PRESS: { printf("X Key press from xserver-"); - xcb_button_press_event_t *kp = - (xcb_button_press_event_t *)evt; - printf("Key pressed in window %u detail %c\n", + xcb_key_press_event_t *kp = + (xcb_key_press_event_t *)evt; + printf("Key pressed in window 0x%08x detail %d\n", + kp->event, kp->detail); + break; + } + + case XCB_KEY_RELEASE: + { + printf("X Key release from xserver-"); + xcb_key_release_event_t *kp = + (xcb_key_release_event_t *)evt; + printf("Key released in window 0x%08x detail %d\n", kp->event, kp->detail); break; } @@ -489,7 +499,7 @@ run_event_loop(void *thread_arg_struct) printf("X Button press from xserver "); xcb_button_press_event_t *bp = (xcb_button_press_event_t *)evt; - printf("in window %u, at coordinates (%d,%d)\n", + printf("in window 0x%08x, at coordinates (%d,%d)\n", bp->event, bp->event_x, bp->event_y); break; } @@ -497,9 +507,9 @@ run_event_loop(void *thread_arg_struct) case XCB_BUTTON_RELEASE: { printf("X Button release from xserver "); - xcb_button_press_event_t *bp = - (xcb_button_press_event_t *)evt; - printf("in window %u, at coordinates (%d,%d)\n", + xcb_button_release_event_t *bp = + (xcb_button_release_event_t *)evt; + printf("in window 0x%08x, at coordinates (%d,%d)\n", bp->event, bp->event_x, bp->event_y); break; } |