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