aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-07-07 09:37:20 +0000
committermarha <marha@users.sourceforge.net>2010-07-07 09:37:20 +0000
commit3dd9390c49402534bc391f621a6b0f497a9407f7 (patch)
treebc5cd4665a525dbc9550292ad393fa0e5590c4a1 /xorg-server/dix/events.c
parenta31abc5ff6da849ed1ac579a1c905d16ffaafcc7 (diff)
parent5da15e274b35656568f59602f2e3fd00d5718879 (diff)
downloadvcxsrv-3dd9390c49402534bc391f621a6b0f497a9407f7.tar.gz
vcxsrv-3dd9390c49402534bc391f621a6b0f497a9407f7.tar.bz2
vcxsrv-3dd9390c49402534bc391f621a6b0f497a9407f7.zip
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index db5aab1a9..115bce82b 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -3943,13 +3943,7 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
void
FixKeyState (DeviceEvent *event, DeviceIntPtr keybd)
{
- int key, bit;
- BYTE *kptr;
- KeyClassPtr keyc = keybd->key;
-
- key = event->detail.key;
- kptr = &keyc->down[key >> 3];
- bit = 1 << (key & 7);
+ int key = event->detail.key;
if (event->type == ET_KeyPress) {
DebugF("FixKeyState: Key %d %s\n",key,
@@ -3957,9 +3951,9 @@ FixKeyState (DeviceEvent *event, DeviceIntPtr keybd)
}
if (event->type == ET_KeyPress)
- *kptr |= bit;
+ set_key_down(keybd, key, KEY_PROCESSED);
else if (event->type == ET_KeyRelease)
- *kptr &= ~bit;
+ set_key_up(keybd, key, KEY_PROCESSED);
else
FatalError("Impossible keyboard event");
}