diff options
Diffstat (limited to 'src/XExtInt.c')
-rw-r--r-- | src/XExtInt.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/XExtInt.c b/src/XExtInt.c index fc018cd..1d12061 100644 --- a/src/XExtInt.c +++ b/src/XExtInt.c @@ -135,6 +135,8 @@ static int wireToRawEvent(xXIRawDeviceEvent *in, XIRawDeviceEvent *out); static int wireToEnterLeave(xXIEnterEvent *in, XIEnterEvent *out); +static int +wireToPropertyEvent(xXIPropertyEvent *in, XIPropertyEvent *out); static /* const */ XEvent emptyevent; @@ -847,6 +849,16 @@ XInputWireToEvent( break; } return ENQUEUE_EVENT; + case XI_PropertyEvent: + *re = *save; + if (!wireToPropertyEvent((xXIPropertyEvent*)event, + (XIPropertyEvent*)re)) + { + printf("XInputWireToEvent: CONVERSION FAILURE! evtype=%d\n", + ge->evtype); + break; + } + return ENQUEUE_EVENT; default: printf("XInputWireToEvent: Unknown generic event. type %d\n", ge->evtype); @@ -1059,3 +1071,16 @@ wireToEnterLeave(xXIEnterEvent *in, XIEnterEvent *out) return 1; } + +static int +wireToPropertyEvent(xXIPropertyEvent *in, XIPropertyEvent *out) +{ + out->type = in->type; + out->extension = in->extension; + out->evtype = in->evtype; + out->time = in->time; + out->property = in->property; + out->what = in->what; + + return 1; +} |