mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-01 22:03:09 +00:00
Update to type-specific raw events - require inputproto 1.9.99.14.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
81b64f6685
commit
d040af7fa3
9 changed files with 57 additions and 17 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue