On Fri, Apr 27, 2012 at 05:53:09PM -0700, Alan Coopersmith wrote: > Signed-off-by: Alan Coopersmith <alan.coopersm...@oracle.com> > --- > man/kbd.man | 2 +- > src/kbd.c | 19 +++++++++++++++++++ > 2 files changed, 20 insertions(+), 1 deletion(-) > > diff --git a/man/kbd.man b/man/kbd.man > index c8d70cc..b1bd082 100644 > --- a/man/kbd.man > +++ b/man/kbd.man > @@ -40,7 +40,7 @@ are supported: > .TP 7 > .BI "Option \*qDevice\*q \*q" string \*q > Specify the keyboard device. Default: the OS's default console keyboard > -input source. > +input source. Property: "Device Node" (read-only). > .TP 7 > .BI "Option \*qProtocol\*q \*q" string \*q > Specify the keyboard protocol. Valid protocol types include: > diff --git a/src/kbd.c b/src/kbd.c > index e04c340..f77bc95 100644 > --- a/src/kbd.c > +++ b/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; > -- > 1.7.9.2
does this actually work? Looks like in the default configuration (without Option "Device" set) this will always be null. don't care much about Linux here since we don't really use it anymore but you may want to add a xf86ReplaceStrOption() in src/sun_kbd.c:OpenKeyboard to force the option to whatever you ended up using. Cheers, Peter _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel