diff options
Diffstat (limited to 'hw')
-rw-r--r-- | hw/dmx/input/atKeynames.h | 1 | ||||
-rw-r--r-- | hw/kdrive/src/kinput.c | 3 | ||||
-rw-r--r-- | hw/xfree86/common/xf86DGA.c | 6 | ||||
-rw-r--r-- | hw/xfree86/common/xf86Events.c | 1 |
4 files changed, 6 insertions, 5 deletions
diff --git a/hw/dmx/input/atKeynames.h b/hw/dmx/input/atKeynames.h index 85f13ac32..e632ca27c 100644 --- a/hw/dmx/input/atKeynames.h +++ b/hw/dmx/input/atKeynames.h @@ -67,7 +67,6 @@ #define ScrollLockMask Mod5Mask #define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7))) -#define ModifierDown(k) ((keyc->state & (k)) == (k)) /* * NOTE: The AT/MF keyboards can generate (via the 8042) two (MF: three) diff --git a/hw/kdrive/src/kinput.c b/hw/kdrive/src/kinput.c index 92f5216e5..2e38cf8f5 100644 --- a/hw/kdrive/src/kinput.c +++ b/hw/kdrive/src/kinput.c @@ -1925,7 +1925,8 @@ KdCheckLock (void) if (tmp->LockLed && tmp->dixdev && tmp->dixdev->key) { keyc = tmp->dixdev->key; isSet = (tmp->leds & (1 << (tmp->LockLed-1))) != 0; - shouldBeSet = (keyc->state & LockMask) != 0; + /* FIXME: Just use XKB indicators! */ + shouldBeSet = !!(XkbStateFieldFromRec(&keyc->xkbInfo->state) & LockMask); if (isSet != shouldBeSet) KdSetLed (tmp, tmp->LockLed, shouldBeSet); } diff --git a/hw/xfree86/common/xf86DGA.c b/hw/xfree86/common/xf86DGA.c index b7036cdb1..2f8c689b0 100644 --- a/hw/xfree86/common/xf86DGA.c +++ b/hw/xfree86/common/xf86DGA.c @@ -1043,7 +1043,8 @@ DGAProcessKeyboardEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr keybd) de->u.event.dx = 0; de->u.event.dy = 0; de->u.event.screen = pScreen->myNum; - de->u.event.state = keyc->state | pointer->button->state; + de->u.event.state = XkbStateFieldFromRec(&keyc->xkbInfo->state); + de->u.event.state |= pointer->button->state; de->u.u.type = (IEventBase - 1) + coreEquiv; /* change to XI event */ UpdateDeviceState(keybd, (xEvent*)de, 1); @@ -1090,7 +1091,8 @@ DGAProcessPointerEvent (ScreenPtr pScreen, dgaEvent *de, DeviceIntPtr mouse) * Fill in remaining event state */ de->u.event.screen = pScreen->myNum; - de->u.event.state = butc->state | GetPairedDevice(mouse)->key->state; + de->u.event.state = butc->state; + de->u.event.state |= XkbStateFieldFromRec(&GetPairedDevice(mouse)->key->xkbInfo->state); de->u.u.type = (IEventBase - 1) + coreEquiv; /* change to XI event */ UpdateDeviceState(mouse, (xEvent*)de, 1); diff --git a/hw/xfree86/common/xf86Events.c b/hw/xfree86/common/xf86Events.c index 1babf126e..a1beea050 100644 --- a/hw/xfree86/common/xf86Events.c +++ b/hw/xfree86/common/xf86Events.c @@ -398,7 +398,6 @@ xf86PrintBacktrace(void) } #define KeyPressed(k) (keyc->postdown[k >> 3] & (1 << (k & 7))) -#define ModifierDown(k) ((keyc->state & (k)) == (k)) static void xf86ReleaseKeys(DeviceIntPtr pDev) |