diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-07-13 15:09:38 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-07-15 10:36:30 +1000 |
commit | d040af7fa3c7314917414a28d723bdda3c4289c3 (patch) | |
tree | 8dd6d00a1c3e97477d3d87083193feb8948f0898 /dix | |
parent | 81b64f668541217c1c9518ac4a7e3fdf0a6e4002 (diff) |
Update to type-specific raw events - require inputproto 1.9.99.14.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/eventconvert.c | 25 | ||||
-rw-r--r-- | dix/events.c | 6 | ||||
-rw-r--r-- | dix/getevents.c | 6 |
3 files changed, 27 insertions, 10 deletions
diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 8d9a329c1..765c84b66 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -94,7 +94,11 @@ EventToCore(InternalEvent *event, xEvent *core) break; case ET_ProximityIn: case ET_ProximityOut: - case ET_Raw: + case ET_RawKeyPress: + case ET_RawKeyRelease: + case ET_RawButtonPress: + case ET_RawButtonRelease: + case ET_RawMotion: return BadMatch; default: /* XXX: */ @@ -135,7 +139,11 @@ EventToXI(InternalEvent *ev, xEvent **xi, int *count) case ET_ProximityOut: return eventToKeyButtonPointer((DeviceEvent*)ev, xi, count); case ET_DeviceChanged: - case ET_Raw: + case ET_RawKeyPress: + case ET_RawKeyRelease: + case ET_RawButtonPress: + case ET_RawButtonRelease: + case ET_RawMotion: *count = 0; *xi = NULL; return BadMatch; @@ -182,7 +190,11 @@ EventToXI2(InternalEvent *ev, xEvent **xi) return BadMatch; case ET_DeviceChanged: return eventToClassesChanged((DeviceChangedEvent*)ev, xi); - case ET_Raw: + case ET_RawKeyPress: + case ET_RawKeyRelease: + case ET_RawButtonPress: + case ET_RawButtonRelease: + case ET_RawMotion: return eventToRawEvent((RawDeviceEvent*)ev, xi); } @@ -469,7 +481,6 @@ eventToRawEvent(RawDeviceEvent *ev, xEvent **xi) raw->evtype = GetXI2Type((InternalEvent*)ev); raw->time = ev->time; raw->length = bytes_to_int32(len - sizeof(xEvent)); - raw->eventtype = ev->subtype; raw->detail = ev->detail.button; raw->deviceid = ev->deviceid; raw->valuators_len = vallen; @@ -552,7 +563,11 @@ GetXI2Type(InternalEvent *event) case ET_Leave: xi2type = XI_Leave; break; case ET_Hierarchy: xi2type = XI_HierarchyChanged; break; case ET_DeviceChanged: xi2type = XI_DeviceChanged; break; - case ET_Raw: xi2type = XI_RawEvent; break; + case ET_RawKeyPress: xi2type = XI_RawKeyPress; break; + case ET_RawKeyRelease: xi2type = XI_RawKeyRelease; break; + case ET_RawButtonPress: xi2type = XI_RawButtonPress; break; + case ET_RawButtonRelease: xi2type = XI_RawButtonRelease; break; + case ET_RawMotion: xi2type = XI_RawMotion; break; case ET_FocusIn: xi2type = XI_FocusIn; break; case ET_FocusOut: xi2type = XI_FocusOut; break; default: diff --git a/dix/events.c b/dix/events.c index 91a083364..f6369f6c6 100644 --- a/dix/events.c +++ b/dix/events.c @@ -2188,7 +2188,11 @@ FixUpEventFromWindow( { xXIDeviceEvent* event = (xXIDeviceEvent*)xE; - if (event->evtype == XI_RawEvent) + if (event->evtype == XI_RawKeyPress || + event->evtype == XI_RawKeyRelease || + event->evtype == XI_RawButtonPress || + event->evtype == XI_RawButtonRelease || + event->evtype == XI_RawMotion) return; event->root = RootWindow(pDev)->drawable.id; diff --git a/dix/getevents.c b/dix/getevents.c index fcac056aa..13e7576a8 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -138,14 +138,12 @@ init_event(DeviceIntPtr dev, DeviceEvent* event, Time ms) } static void -init_raw(DeviceIntPtr dev, RawDeviceEvent *event, Time ms, int subtype, - int detail) +init_raw(DeviceIntPtr dev, RawDeviceEvent *event, Time ms, int type, int detail) { memset(event, 0, sizeof(RawDeviceEvent)); event->header = ET_Internal; event->length = sizeof(RawDeviceEvent); - event->type = ET_Raw; - event->subtype = subtype; + event->type = ET_RawKeyPress - ET_KeyPress + type; event->time = ms; event->deviceid = dev->id; event->sourceid = dev->id; |