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.
This commit is contained in:
parent
34228d8b28
commit
47c1c948e6
|
@ -1927,23 +1927,14 @@ KdEnqueueKeyboardEvent(KdKeyboardInfo *ki,
|
||||||
else
|
else
|
||||||
type = KeyPress;
|
type = KeyPress;
|
||||||
|
|
||||||
/* HRNGH */
|
#ifdef XKB
|
||||||
switch (KEYCOL1(ki, key_code))
|
if (noXkbExtension)
|
||||||
{
|
#endif
|
||||||
case XK_Num_Lock:
|
{
|
||||||
case XK_Scroll_Lock:
|
KdCheckSpecialKeys(ki, type, key_code);
|
||||||
case XK_Shift_Lock:
|
KdHandleKeyboardEvent(ki, type, key_code);
|
||||||
case XK_Caps_Lock:
|
|
||||||
if (type == KeyRelease)
|
|
||||||
return;
|
|
||||||
if (IsKeyDown (ki, key_code))
|
|
||||||
type = KeyRelease;
|
|
||||||
else
|
|
||||||
type = KeyPress;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
KdCheckSpecialKeys(ki, type, key_code);
|
|
||||||
KdHandleKeyboardEvent(ki, type, key_code);
|
|
||||||
nEvents = GetKeyboardEvents(kdEvents, ki->dixdev, type, key_code);
|
nEvents = GetKeyboardEvents(kdEvents, ki->dixdev, type, key_code);
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
ErrorF("KdEnqueueKeyboardEvent: got %d events from GKE\n", nEvents);
|
ErrorF("KdEnqueueKeyboardEvent: got %d events from GKE\n", nEvents);
|
||||||
|
|
Loading…
Reference in New Issue