summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xf86-input-joystick.tex79
1 files 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}