dix: purge leftover manual key down bit setting.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
a1afe17255
commit
fd4f5059f0
12
dix/events.c
12
dix/events.c
|
@ -3937,13 +3937,7 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
||||||
void
|
void
|
||||||
FixKeyState (DeviceEvent *event, DeviceIntPtr keybd)
|
FixKeyState (DeviceEvent *event, DeviceIntPtr keybd)
|
||||||
{
|
{
|
||||||
int key, bit;
|
int key = event->detail.key;
|
||||||
BYTE *kptr;
|
|
||||||
KeyClassPtr keyc = keybd->key;
|
|
||||||
|
|
||||||
key = event->detail.key;
|
|
||||||
kptr = &keyc->down[key >> 3];
|
|
||||||
bit = 1 << (key & 7);
|
|
||||||
|
|
||||||
if (event->type == ET_KeyPress) {
|
if (event->type == ET_KeyPress) {
|
||||||
DebugF("FixKeyState: Key %d %s\n",key,
|
DebugF("FixKeyState: Key %d %s\n",key,
|
||||||
|
@ -3951,9 +3945,9 @@ FixKeyState (DeviceEvent *event, DeviceIntPtr keybd)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event->type == ET_KeyPress)
|
if (event->type == ET_KeyPress)
|
||||||
*kptr |= bit;
|
set_key_down(keybd, key, KEY_PROCESSED);
|
||||||
else if (event->type == ET_KeyRelease)
|
else if (event->type == ET_KeyRelease)
|
||||||
*kptr &= ~bit;
|
set_key_up(keybd, key, KEY_PROCESSED);
|
||||||
else
|
else
|
||||||
FatalError("Impossible keyboard event");
|
FatalError("Impossible keyboard event");
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,8 +66,6 @@
|
||||||
#define KanaMask Mod4Mask
|
#define KanaMask Mod4Mask
|
||||||
#define ScrollLockMask Mod5Mask
|
#define ScrollLockMask Mod5Mask
|
||||||
|
|
||||||
#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7)))
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three)
|
* NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three)
|
||||||
* sets of scancodes. Set3 can only be generated by a MF keyboard.
|
* sets of scancodes. Set3 can only be generated by a MF keyboard.
|
||||||
|
|
|
@ -776,13 +776,7 @@ ephyrUpdateModifierState(unsigned int state)
|
||||||
|
|
||||||
for (key = 0; key < MAP_LENGTH; key++)
|
for (key = 0; key < MAP_LENGTH; key++)
|
||||||
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
|
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
|
||||||
int bit;
|
if (key_is_down(pDev, key, KEY_PROCESSED))
|
||||||
BYTE *kptr;
|
|
||||||
|
|
||||||
kptr = &keyc->down[key >> 3];
|
|
||||||
bit = 1 << (key & 7);
|
|
||||||
|
|
||||||
if (*kptr & bit)
|
|
||||||
KdEnqueueKeyboardEvent (ephyrKbd, key, TRUE);
|
KdEnqueueKeyboardEvent (ephyrKbd, key, TRUE);
|
||||||
|
|
||||||
if (--count == 0)
|
if (--count == 0)
|
||||||
|
|
|
@ -372,8 +372,6 @@ xf86PrintBacktrace(void)
|
||||||
xorg_backtrace();
|
xorg_backtrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7)))
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xf86ReleaseKeys(DeviceIntPtr pDev)
|
xf86ReleaseKeys(DeviceIntPtr pDev)
|
||||||
{
|
{
|
||||||
|
@ -399,7 +397,7 @@ xf86ReleaseKeys(DeviceIntPtr pDev)
|
||||||
for (i = keyc->xkbInfo->desc->min_key_code;
|
for (i = keyc->xkbInfo->desc->min_key_code;
|
||||||
i < keyc->xkbInfo->desc->max_key_code;
|
i < keyc->xkbInfo->desc->max_key_code;
|
||||||
i++) {
|
i++) {
|
||||||
if (KeyPressed(i)) {
|
if (key_is_down(pDev, i, KEY_POSTED)) {
|
||||||
sigstate = xf86BlockSIGIO ();
|
sigstate = xf86BlockSIGIO ();
|
||||||
nevents = GetKeyboardEvents(xf86Events, pDev, KeyRelease, i);
|
nevents = GetKeyboardEvents(xf86Events, pDev, KeyRelease, i);
|
||||||
for (j = 0; j < nevents; j++)
|
for (j = 0; j < nevents; j++)
|
||||||
|
|
|
@ -231,13 +231,7 @@ xnestUpdateModifierState(unsigned int state)
|
||||||
|
|
||||||
for (key = 0; key < MAP_LENGTH; key++)
|
for (key = 0; key < MAP_LENGTH; key++)
|
||||||
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
|
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
|
||||||
int bit;
|
if (key_is_down(pDev, key, KEY_PROCESSED))
|
||||||
BYTE *kptr;
|
|
||||||
|
|
||||||
kptr = &keyc->down[key >> 3];
|
|
||||||
bit = 1 << (key & 7);
|
|
||||||
|
|
||||||
if (*kptr & bit)
|
|
||||||
xnestQueueKeyEvent(KeyRelease, key);
|
xnestQueueKeyEvent(KeyRelease, key);
|
||||||
|
|
||||||
if (--count == 0)
|
if (--count == 0)
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#define KanaMask Mod4Mask
|
#define KanaMask Mod4Mask
|
||||||
#define ScrollLockMask Mod5Mask
|
#define ScrollLockMask Mod5Mask
|
||||||
|
|
||||||
#define KeyPressed(k) (keyc->down[k >> 3] & (1 << (k & 7)))
|
|
||||||
#define ModifierDown(k) ((keyc->state & (k)) == (k))
|
#define ModifierDown(k) ((keyc->state & (k)) == (k))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue