Confused

Peter Hutterer peter.hutterer at who-t.net
Wed Mar 11 15:22:51 PDT 2009


On Wed, Mar 11, 2009 at 10:38:43AM -0400, Ben Gamari wrote:
> Hey all,
>
> Recently I've been finding that despite Xorg.log reporting several  
> devices being added to my server, `xinput list` only reports two:
>
>> $ xinput list
>> "Virtual core pointer"	id=0	[XPointer]
>> ...
>> unknown class
>> "Virtual core keyboard"	id=1	[XKeyboard]
>> ...
>> unknown class
>
> This strikes me as quite odd considering I should at least have both a  
> synaptics and evdev mouse, as well as an evdev keyboard. In fact, Xorg
> even claims adding each of the devices (and some; not this don't occur  
> sucessively to one another in xorg.log),
>
>> (II) XINPUT: Adding extended input device "AlpsPS/2 ALPS GlidePoint" (type: TOUCHPAD)
>> (II) XINPUT: Adding extended input device "PS/2 Mouse" (type: MOUSE)
>> (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD)
>> (II) XINPUT: Adding extended input device "Macintosh mouse button emulation" (type: MOUSE)
>> (II) XINPUT: Adding extended input device "Sleep Button (CM)" (type: KEYBOARD)
>> (II) XINPUT: Adding extended input device "Power Button (CM)" (type: KEYBOARD)
>> (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
>> (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD)
>
> Why would xinput put to report all of these devices? My xorg.conf and  
> xorg.log of a fresh server are attached. (I just realized I still have a  
> keyboard definition in xorg.conf; better remove that)

This is an XI1 vs. XI2 compatibility issue. The ListInputDevices request
processing has changed that if you query the list of input devices, only the
VCP and the VCK and all floating slave devices are returned. Attached slave
devices (the default state) are invisible to XI1 clients.

The current correct way around that is to announce support for XI2 through
XQueryInputVersion(). In this case the server knows you support XI2 and lists
all devices.*

In the case of app/xinput, just recompile against a git master inputproto and
libXi.

Cheers,
  Peter

* note that this has changed in my tree, so don't rely on it for too long.



More information about the xorg mailing list