summaryrefslogtreecommitdiff
path: root/src/events.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2000-12-04 00:06:12 +0000
committersabetts <sabetts>2000-12-04 00:06:12 +0000
commit3b8d3d379b2778cfdbc2c1e1c6c448303311e20f (patch)
tree3022f113a89ec8aaef4781458b31fbff649bfac1 /src/events.c
parent5ec1978cf5d9917e1ea6dda6f9169aedef7351a0 (diff)
downloadratpoison-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.c12
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;