summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
Diffstat (limited to 'hw')
-rw-r--r--hw/dmx/input/atKeynames.h1
-rw-r--r--hw/kdrive/src/kinput.c3
-rw-r--r--hw/xfree86/common/xf86DGA.c6
-rw-r--r--hw/xfree86/common/xf86Events.c1
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)