xorg conf user defined driver

Peter Hutterer peter.hutterer at who-t.net
Mon Oct 27 16:48:27 PDT 2014


On Mon, Oct 27, 2014 at 05:31:21AM +0100, Arne.Adams at t-online.de wrote:
> Hi,
> In a previous post (http://lists.x.org/archives/xorg/2014-October/056903.html) I mentioned problems
> with intercepting uinput events in an X client as non-extension events.
> I was not able to solve this problem.
> Hence I decided writing an X-input driver module using the howto from http://www.x.org/wiki/Development/Documentation/XorgInputHOWTO/ as starting point.
> I modified the sample, installed it (output from make install:
> ...
> libtool: install: /usr/bin/install -c .libs/smiths-kbd_drv.so /usr/local/lib/xorg/modules/input/smiths-kbd_drv.so
> libtool: install: /usr/bin/install -c .libs/smiths-kbd_drv.lai /usr/local/lib/xorg/modules/input/smiths-kbd_drv.la
> ..
> ),
> modified my xorg.conf:
> Section "InputDevice"
>     # to enable user defined virtual keyboard
>     Identifier     "Hitrax-KBD"
>     Option         "Device" "/dev/sh-kbd"
>     Driver         "smiths-kbd"
> EndSection
> 
> When I start writing to the device my driver won't get loaded, instead evdev is used.
> xorg log:
> [  4680.681] (II) config/udev: Adding input device sh-kbd (/dev/input/event14)

a uinput device shows up as evdev device, so you'll have the device
configured in your xorg.conf _and_ the evdev device. and that is handled by
the catchall rule.

you'd have to either write a snippet to ingnore the sh-kbd device or write
an InputClass snippet that overrides the driver for your device (probably
using MatchProduct).

all that aside: if you can't get extension events in your client, changing
input drivers won't help you. the problem is in your client. whether to send
extension events is decided in the server, the input drivers have no say in
that.

Cheers,
   Peter

> [  4680.681] (**) sh-kbd: Applying InputClass "evdev keyboard catchall"
> [  4680.681] (II) Using input driver 'evdev' for 'sh-kbd'
> [  4680.681] (**) sh-kbd: always reports core events
> [  4680.681] (**) evdev: sh-kbd: Device: "/dev/input/event14"
> [  4680.681] (--) evdev: sh-kbd: Vendor 0x1 Product 0x1
> [  4680.681] (--) evdev: sh-kbd: Found keys
> [  4680.682] (II) evdev: sh-kbd: Configuring as keyboard
> [  4680.682] (**) Option "config_info" "udev:/sys/devices/virtual/input/input20/event14"
> [  4680.682] (II) XINPUT: Adding extended input device "sh-kbd" (type: KEYBOARD, id 15)
> [  4680.682] (**) Option "xkb_rules" "evdev"
> [  4680.682] (**) Option "xkb_model" "pc105"
> [  4680.682] (**) Option "xkb_layout" "de"
> 
> Note that with the following device option
> Option         "Device" "/dev/input/event14"
> 
>  I get the same failure log
> Thanks in advance for any help...
> 
> 
> Arne


More information about the xorg mailing list