diff options
author | Daniel Stone <daniel@fooishbar.org> | 2008-08-09 16:45:45 +0300 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2009-01-22 15:08:55 +1100 |
commit | 6727ee94086d238f9f99379280d4e4827f388cce (patch) | |
tree | cdd241f77a324e83c630fe847036b3ecae344e4e /hw/kdrive/src | |
parent | 08363c5830bdea34012dcd954b45ccfdc79a3a7e (diff) |
Input: Remove state from KeyClassRec
We already have state fully stored within XKB, so instead of duplicating it,
just generate the values to send to clients when required.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/kdrive/src')
-rw-r--r-- | hw/kdrive/src/kinput.c | 3 |
1 files changed, 2 insertions, 1 deletions
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); } |