input device support in xserver
Warren Turkal
wt@midsouth.rr.com
Sat, 14 Feb 2004 12:10:09 -0600
This is a preliminary bit of a plan I am generating for input device support
in xserver. I hope I am headed in the right direction.
wt
Reworking the Freedesktop.org Xserver's Input Device Support
Mr. D. Warren Turkal
_________________________________________________________
Table of Contents
Current State of Input Support
Where I Want to Go
Xinput Extension Extension
Abstract
This paper will attempt to describe issues with the current
xserver input device support and lay a plan for improvement.
Current State of Input Support
The current state of the input device support in the our
xserver appears to be simply drivers for each OS (only Linux
appears to be supported right now). These drivers are built
into an OS specific library that is linked into the xserver.
The xserver then sends input events to the app. This is
illustrated in the following.
Unix type mouse driver<->xserver<->xapp
My cursory research suggests that Xi (X input extension) is
not supported in xserver in a meaninful way. While the
extension does exist on the server side, xserver cannot
deliver extended events like a server with real Xi support. Xi
has its own limitations that I will describe later.
Where I Want to Go
Ultimately, I would like the have a HAL based input driver.
HAL is built on top of DBUS and should provide the ability to
have input devices connected to systems on which the server
process is not running.
HAL<->mouse reader/dbus sender<->dbus<-> dbus
receiver<->xserver<->xapp
In the mean time, I believe that it would be very valuable to
have a Linux evdev driver. Linux evdev is the abstraction for
all input on Linux. Support for evdev should bring along
support for all input device currently supported by the Linux
kernel.
Xinput Extension Extension
While Xi handles all of the input events that most devices
could generate, it does not address the issue of hotplug. Two
general problems come up with the addition of hotplug to the
Xi specification:
1. how to notify apps of input device changes
2. how to retain backward compatibility while moving forward
gracefully
--
Warren Turkal
President, GOLUM, Inc.
http://www.golum.org