From 3b2fcb4f13f7aa430a3519ff869564a4a92894df Mon Sep 17 00:00:00 2001 From: Sascha Hlusiak Date: Sat, 15 Sep 2012 00:57:49 +0200 Subject: started feature overview --- xf86-input-joystick.tex | 79 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 22 deletions(-) diff --git a/xf86-input-joystick.tex b/xf86-input-joystick.tex index 98473c9..a634b6f 100644 --- a/xf86-input-joystick.tex +++ b/xf86-input-joystick.tex @@ -10,7 +10,6 @@ \usepackage{hyperref} \usepackage{ngerman} -\newenvironment{slide}[1]{\begin{frame}[containsverbatim]{#1}}{\end{frame}} \usepackage{color} \usepackage{listings} \usepackage{pgfpages} @@ -70,23 +69,24 @@ \section*{Overview} \subsection*{Abstract} -\begin{slide}{Abstract} +\begin{frame}{Abstract} \structure{xf86-input-joystick?} \begin{itemize} \item input module for the X.Org server to handle joystick devices \item can emit cursor movement and key events \item \textbf{control the cursor with a joystick} \end{itemize} -\end{slide} +\end{frame} - -\begin{slide}{Overview} +\subsection*{Overview} +\begin{frame}{Overview} \tableofcontents -\end{slide} +\end{frame} \section{Basics} -\begin{slide}{joysticks} +\subsection{joysticks} +\begin{frame}{joysticks} \begin{itemize} \item easily 6 or more axes, different types \begin{itemize} @@ -100,17 +100,17 @@ \begin{center} \includegraphics[width=4cm,height=4cm]{pics/logitech_1.png} \end{center} -\end{slide} +\end{frame} -\begin{slide}{why a joystick input module?} +\begin{frame}{why a joystick input module?} \begin{itemize} - \item \textbf{xf86-input-evdev} maps directly to mouse/keyboard events + \item xorg-server knows pointers and keyboards + \item \textbf{xf86-input-evdev} maps directly, a joystick is neither nor \item evdev only in Linux \item joysticks send absolute axis data \\ $ \Rightarrow $ direct mapping useless \\ - $ \Rightarrow $ want smooth, relative cursor movement \\ - \item joystick specific event transformation: + \item joystick specific event transformation \end{itemize} \scriptsize \vspace{1cm} $$ @@ -137,11 +137,10 @@ $$ \right ) }_{\text{X events}} $$ +\end{frame} -\end{slide} - - -\begin{slide}{joysticks on kernel level} +\subsection{kernel level} +\begin{frame}{joysticks on kernel level} \structure{kernel device} \begin{itemize} \item usually Plug \& Play (USB) @@ -154,24 +153,60 @@ $$ \item \texttt{/dev/input/event0} (evdev) \end{itemize} - \structure{FreeBSD} + \structure{(Free)BSD} \begin{itemize} \item \texttt{/dev/input/js0} (linux-js) \item \texttt{/dev/uhid0} (usbhid) \end{itemize} $ \Rightarrow $ supported through lightweight abstraction layer -\end{slide} +\end{frame} + +\section{Feature overview} +\subsection{mappings} +\begin{frame}{axis mappings} + \structure{form of mapping} + \begin{itemize} + \item relative (analog) + \item accelerated (D-Pad) + \item absolute (analog) + \end{itemize} + + \structure{sort of mapping} + \begin{itemize} + \item pointer movement + \item scroll event + \item key event sequence (e.g. cursor keys) + \end{itemize} +\end{frame} +\begin{frame}{button mappings} + \begin{itemize} + \item pointer click + \item pointer movement (accelerated) + \item scroll events (accelerated) + \item key sequences (e.g. Alt+Tab) + \begin{itemize} + \item auto repeat applies + \item keyboard layout applies + \end{itemize} + \item disable all events + \end{itemize} +\end{frame} + -\section{Backends} +\subsection{hotplugging} -\section{Hotplugging} +\subsection{properties} -\section{Main Features} +\section{Technics} +% keyboard layout unknown, how to provide good mapping with scancodes +% different auto repeat rates +% creates two devices, MOUSE and KEYBOARD +% automatic configuration is problematic +% dynamic configuration and state change desired -\section{Properties} \section{Future} -- cgit v1.2.3