From 47c1c948e69cfba950ad37a3133fa2db0bd0ff2c Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Tue, 15 Aug 2006 15:25:16 +0300 Subject: [PATCH] kdrive/input: only run special key behaviours on non-XKB Only attempt to manually deal with special key behaviours (e.g. terminating the server) when not using XKB, and leave locking behaviour up to GKVE. --- hw/kdrive/src/kinput.c | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index fc4592a64..278bbf7c5 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1927,23 +1927,14 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo *ki, else type = KeyPress; - /* HRNGH */ - switch (KEYCOL1(ki, key_code)) - { - case XK_Num_Lock: - case XK_Scroll_Lock: - case XK_Shift_Lock: - case XK_Caps_Lock: - if (type == KeyRelease) - return; - if (IsKeyDown (ki, key_code)) - type = KeyRelease; - else - type = KeyPress; +#ifdef XKB + if (noXkbExtension) +#endif + { + KdCheckSpecialKeys(ki, type, key_code); + KdHandleKeyboardEvent(ki, type, key_code); } - KdCheckSpecialKeys(ki, type, key_code); - KdHandleKeyboardEvent(ki, type, key_code); nEvents = GetKeyboardEvents(kdEvents, ki->dixdev, type, key_code); #ifdef DEBUG ErrorF("KdEnqueueKeyboardEvent: got %d events from GKE\n", nEvents);