diff options
Diffstat (limited to 'driver/xf86-input-keyboard/src/kbd.c')
-rw-r--r-- | driver/xf86-input-keyboard/src/kbd.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/driver/xf86-input-keyboard/src/kbd.c b/driver/xf86-input-keyboard/src/kbd.c index ea5480b13..2c16c86e7 100644 --- a/driver/xf86-input-keyboard/src/kbd.c +++ b/driver/xf86-input-keyboard/src/kbd.c @@ -38,6 +38,10 @@ #include "xf86OSKbd.h" #include "compiler.h" +#include "exevents.h" +#include <X11/Xatom.h> +#include "xserver-properties.h" + #include "xkbstr.h" #include "xkbsrv.h" @@ -328,6 +332,21 @@ KbdProc(DeviceIntPtr device, int what) return BadValue; } } +# ifdef XI_PROP_DEVICE_NODE + { + const char *device_node = + xf86CheckStrOption(pInfo->options, "Device", NULL); + + if (device_node) + { + Atom prop_device = MakeAtom(XI_PROP_DEVICE_NODE, + strlen(XI_PROP_DEVICE_NODE), TRUE); + XIChangeDeviceProperty(device, prop_device, XA_STRING, 8, + PropModeReplace, strlen(device_node), + device_node, FALSE); + } + } +# endif /* XI_PROP_DEVICE_NODE */ #else { XkbComponentNamesRec xkbnames; |