diff options
author | sabetts <sabetts> | 2000-12-04 00:06:12 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2000-12-04 00:06:12 +0000 |
commit | 3b8d3d379b2778cfdbc2c1e1c6c448303311e20f (patch) | |
tree | 3022f113a89ec8aaef4781458b31fbff649bfac1 /src/events.c | |
parent | 5ec1978cf5d9917e1ea6dda6f9169aedef7351a0 (diff) | |
download | ratpoison-3b8d3d379b2778cfdbc2c1e1c6c448303311e20f.zip |
* input.h (cook_keycode): added prototype
* actions.c: key_actions now uses the #define'd keysyms from X11/keysym.h
* events.c (handle_key): calls cook_keycode() before processing the keysym.
* input.c (read_key): calls cook_keycode() before returning the keysym
(cook_keycode): added.
Diffstat (limited to 'src/events.c')
-rw-r--r-- | src/events.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/events.c b/src/events.c index 5c35717..bf9c78b 100644 --- a/src/events.c +++ b/src/events.c @@ -243,7 +243,8 @@ handle_key (screen_info *s) int revert; Window fwin; XEvent ev; - int keysym, mod; + KeySym keysym; + int mod; PRINT_DEBUG ("handling key.\n"); @@ -256,9 +257,10 @@ handle_key (screen_info *s) do { XMaskEvent (dpy, KeyPressMask, &ev); - keysym = XLookupKeysym((XKeyEvent *) &ev, 0); mod = ev.xkey.state; + cook_keycode (ev.xkey.keycode, &keysym, &mod); + for (i = key_actions; i->key != 0; i++) { if (keysym == i->key) @@ -402,6 +404,12 @@ delegate_event (XEvent *ev) case KeyPress: PRINT_DEBUG ("KeyPress %d %d\n", ev->xkey.keycode, ev->xkey.state); + { + KeySym thesym; + char buf[512]; + XLookupString (&ev->xkey, buf, 512, &thesym, NULL); + PRINT_DEBUG ("key string: '%s' %ld\n", buf, thesym); + } key_press (ev); break; |