summaryrefslogtreecommitdiff
path: root/src/XExtInt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/XExtInt.c')
-rw-r--r--src/XExtInt.c25
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;
+}