[ANNOUNCE] xf86-input-evdev 2.2.99.1

Maxim Levitsky maximlevitsky at gmail.com
Thu Aug 13 23:32:13 PDT 2009


On Fri, 2009-08-14 at 16:06 +1000, Peter Hutterer wrote:
> On Fri, Aug 14, 2009 at 08:27:22AM +0300, Maxim Levitsky wrote:
> > > > Folks, I have two outstanding questions about this driver.
> > > > 
> > > > First, I have seen that XI2 input is landed in master (and I enjoy two
> > > > mouses now :-)
> > > > 
> > > > But, there were rumors that this will enable support for 32 bit
> > > > keycodes, and it will be transparent, providing an updated Xlib is
> > > > installed. 
> > > > How far we are from that?
> > > 
> > > I doubt this will happen. Xlib itself is tightly paired with the core X
> > > protocol which has 8 bit keycodes. Making this transparent looks simple
> > > (Xlib itself uses ints) but would require numerous hooks within the library
> > > to call out into new requests where possible.  The devil's in the detail
> > > here.
> > Then, I phrase my question differently, when the X will report 32 bit
> > keycodes to userspace via *any* interface, so toolkits can be ported?
> > (I of course mean that events should originate from evdev)
> 
> XI2 for input events, already in master. 
> XKB2 for xkb configuration, not in master yet.
But evdev still checks for keycode < 255 or whatever (247 or so)?


> 
> > > if you want devices to not be handled by evdev, you need to exclude them
> > > explicitly. See https://fedoraproject.org/wiki/Input_device_configuration
> > > we also have the xf86-input-joystick driver which is actively maintained and
> > > should be used for joystick devices.
> > Well, this isn't an answer, I know about that, and this isn't what I
> > have asked. I asked about the default, about the fact that X shouldn't
> > touch joysticks, if all it can to is to turn them into mouses. However
> > if you want to make X primary agent in joystick handling (which I would
> > welcome), then major users should be ported to use it, and /dev/js be
> > depricated.
> > 
> > If the older status is to remain, its fine, but then evedev should
> > blacklist the joysticks.
> 
> the current implementation does the following:
> - the user or distro configures which driver to load for which device
> - HAL tells the X server which devices are available and based on the
>   configuration which driver to load.
> - the X server loads the driver module
> - driver opens the device given to it.
> 
> The X server only has a say in which devices are picked if an xorg.conf is
> present and (in some cases) if AutoAddDevices is disabled.
> evdev doesn't have a say in which devices are opened at all.
> 
> the hal configuration can most likely be found in /usr/share/hal/fdi/policy
> (possibly /etc/hal/fdi/) and named 10-x11-input.fdi or similar. I keep
> forgetting how that file is called in the different distros.
> 
> the capability HAL offers for joysticks is input.joystick which we ignore,
> at least in the official fdi file.
> http://cgit.freedesktop.org/xorg/xserver/tree/config/x11-input.fdi
> 
> there's a chance that your joystick also reports input.mouse or input.keys,
> so this may be a reason why it is added.
> to address this, it's best if you file a bugreport and attach the evtest
> information of your device and the output of lshal. then we can see how to
> deal with this
> .
Nice, then everything is OK.



> 
> [out-of-context quote]
> > X shouldn't touch joysticks, if all it can to is to turn them into mouses.
> 
> X only has the concept of keyboard devices and pointing devices. joysticks
> arguably fall into the latter and are thus treated that way. It is possible
> though to configure them to not send core events (or detach them in XI2) so
> they do not control the core pointer anymore and thus don't interfere.
Indeed, I think X even should expose joysticks as XI2 devices, and
someday, SDL. and friends will be ported.
But not control master pointer by default!

> 
> Cheers,
>   Peter




More information about the xorg mailing list