From 10e7c3fbdf4e94c212c0807844721064e7490729 Mon Sep 17 00:00:00 2001 From: Sascha Hlusiak Date: Tue, 19 Feb 2008 21:09:13 +0100 Subject: [PATCH] Filter all incoming repeated key events Not just filter modifiers but every repeated key, because the software implementation will take care of what key to repeat and what not. Otherwise the kernel's autorepeated keys interfere with the software generated ones. --- src/evdev_key.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/evdev_key.c b/src/evdev_key.c index 0f4edc6..ed3890c 100644 --- a/src/evdev_key.c +++ b/src/evdev_key.c @@ -517,18 +517,8 @@ EvdevKeyProcess (InputInfoPtr pInfo, struct input_event *ev) { int keycode = ev->code + MIN_KEYCODE; - /* filter repeat events for chording keys */ - if (ev->value == 2) { - DeviceIntPtr device = pInfo->dev; - KeyClassRec *keyc = device->key; - KbdFeedbackClassRec *kbdfeed = device->kbdfeed; - int num = keycode >> 3; - int bit = 1 << (keycode & 7); - - if (keyc->modifierMap[keycode] || - !(kbdfeed->ctrl.autoRepeats[num] & bit)) - return; - } + /* filter all repeat events */ + if (ev->value == 2) return; xf86PostKeyboardEvent(pInfo->dev, keycode, ev->value); }