summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hlusiak <mail@saschahlusiak.de>2012-09-15 14:38:09 +0200
committerSascha Hlusiak <mail@saschahlusiak.de>2012-09-15 14:38:09 +0200
commit7a3a8004aa64a5254c233204886798c3c515e968 (patch)
tree7a306179b8824a3dbb394bef6b4499ba66d76e71
parent3b2fcb4f13f7aa430a3519ff869564a4a92894df (diff)
configuration and distribution
-rw-r--r--xf86-input-joystick.tex60
1 files changed, 51 insertions, 9 deletions
diff --git a/xf86-input-joystick.tex b/xf86-input-joystick.tex
index a634b6f..768a351 100644
--- a/xf86-input-joystick.tex
+++ b/xf86-input-joystick.tex
@@ -72,6 +72,7 @@
\begin{frame}{Abstract}
\structure{xf86-input-joystick?}
\begin{itemize}
+ \item \textbf{not} meant for playing games under X
\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}
@@ -85,7 +86,7 @@
\section{Basics}
-\subsection{joysticks}
+\subsection{physical joysticks}
\begin{frame}{joysticks}
\begin{itemize}
\item easily 6 or more axes, different types
@@ -106,11 +107,11 @@
\begin{frame}{why a joystick input module?}
\begin{itemize}
\item xorg-server knows pointers and keyboards
- \item \textbf{xf86-input-evdev} maps directly, a joystick is neither nor
+ \item \textbf{xf86-input-evdev} maps directly
\item evdev only in Linux
- \item joysticks send absolute axis data \\
+ \item joysticks usually send absolute axis data \\
$ \Rightarrow $ direct mapping useless \\
- \item joystick specific event transformation
+ $ \Rightarrow $ joystick specific event transformation needed
\end{itemize}
\scriptsize \vspace{1cm}
$$
@@ -130,7 +131,7 @@ $$
\underbrace{
\left (
\begin{matrix}
- \text{cursor} \\
+ \text{pointer} \\
\text{buttons} \\
\text{keys} \\
\end{matrix}
@@ -159,10 +160,10 @@ $$
\item \texttt{/dev/uhid0} (usbhid)
\end{itemize}
- $ \Rightarrow $ supported through lightweight abstraction layer
+ $ \Rightarrow $ lightweight abstraction layer
\end{frame}
-\section{Feature overview}
+\section{Features}
\subsection{mappings}
\begin{frame}{axis mappings}
\structure{form of mapping}
@@ -177,6 +178,7 @@ $$
\item pointer movement
\item scroll event
\item key event sequence (e.g. cursor keys)
+ \item none + raw valuator events (XI2)
\end{itemize}
\end{frame}
@@ -196,9 +198,48 @@ $$
\end{frame}
-\subsection{hotplugging}
+\subsection{configuration}
+\begin{frame}{hotplugging and configuration}
+ \begin{itemize}
+ \item can be hotplugged through udev and \textit{xorg.conf.d}
+ \begin{itemize}
+ \item allows specific configuration
+ \item easy pre-configuration through distributors
+ \end{itemize}
+ \item no EVIOCGRAB
+ \begin{itemize}
+ \item allows concurrent reads (e.g. for games)
+ \item watch out when hotplugging \textbf{js0} \textit{and} \textbf{event0}
+ \end{itemize}
+ \item supports input device properties
+ \begin{itemize}
+ \item most configuration items can be changed at runtime
+ \item TODO: frontend
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\subsection{distributing}
+\begin{frame}{distribution defaults}
+ \begin{itemize}
+ \item mostly installed unintentionally \\
+ $ \Rightarrow $ yields unexpected behaviour
+ \begin{itemize}
+ \item default should be disabled/floating
+ \item make user aware to enable it
+ \item way to activate/deactivate it on the fly
+ \end{itemize}
+
+ \item no reasonable default configuration
+ \begin{itemize}
+ \item example configuration
+ \item configuration wizard (\textit{xorg.conf.d})
+ \item frontend for runtime configuration (properties)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
-\subsection{properties}
\section{Technics}
% keyboard layout unknown, how to provide good mapping with scancodes
@@ -206,6 +247,7 @@ $$
% creates two devices, MOUSE and KEYBOARD
% automatic configuration is problematic
% dynamic configuration and state change desired
+% XI2 and valuator events
\section{Future}