
%         Registration                     The New X Input System             
%                                                                             
%  [2]Register/Submit Proposal James Gettys (jim.gettys@hp.com)               
%                                                                             
%            Content           A New X Window System Input System             

The X Window System, for historical reasons,   
has presumed a static configuration of screens 
and input devices such as keyboards, mice,     
joysticks, etc, configured by a file (the      
dread \texttt{xorg.conf} or \texttt{XF86Config} file), under     
control of a single individual.                

But USB input devices are now hot-pluggable,   
and users justifiably expect that they should  
be able to plug them into a running system and 
have them ``just work,'' without requiring       
rebooting the Linux/UNIX kernel or restarting  
the X server, having laboriously hand-edited   
an X server configuration file. Instead, the X 
server must move to a model where it is told   
what to do by external agents, and do so in a  
dynamic fashion, in response to a user's       
action.                                        

Additonally, projectors and other large        
displays, calling out to be used by more than  
one person at a time, are becoming             
econonomical. Input devices themselves must be 
able to be network devices, and the X server   
become a multi-user server, if this vision is  
to become a reality.                           

The issues faced break down into the following 
categories: 
\begin{itemize}
 \item fundamental X architectural      issues 
 \item XInput extension protocol issues 
 \item Integration with the desktop environment 
 \item X   server implementation infrastructure issues 
 \item Security and authentication 
 \item Device           discovery, authentication and association      
\end{itemize}

Hotplug of display screens present similar     
challenges, but such hardware is either rare   
(PCMCIA/CARDBUS displays) or not yet widely    
deployed (e.g.\ PCI-e), it is out of the scope  
of this paper.                                 

