summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Hlusiak <mail@saschahlusiak.de>2012-09-14 23:35:39 +0200
committerSascha Hlusiak <mail@saschahlusiak.de>2012-09-14 23:35:39 +0200
commit34525a6d31d592b84b471a00fc7cd7ed30aa37a4 (patch)
tree61188ac3b5af7b6fdb9fb6c3762626cc9be9f3ba
parent3afab91b78d8d41f1814ea5963552870b7df3485 (diff)
introduction and basics, added header slide and logo images
-rw-r--r--introduction.tex31
-rw-r--r--pics/X_Org_Logo.pngbin0 -> 70852 bytes
-rw-r--r--pics/logitech_1.pngbin0 -> 577615 bytes
-rw-r--r--xf86-input-joystick.tex142
4 files changed, 131 insertions, 42 deletions
diff --git a/introduction.tex b/introduction.tex
deleted file mode 100644
index 8903456..0000000
--- a/introduction.tex
+++ /dev/null
@@ -1,31 +0,0 @@
-\begin{slide}{Slide 1}
- \begin{itemize}
- \item Item 1
- \item Item 2
- \item Item 3
- \end{itemize}
-\end{slide}
-
-
-
-\subsection{Subsection 1}
-\begin{slide}{Slide 2}
- \begin{itemize}
- \item Item 1
- \item Item 2
- \item Item 3
- \end{itemize}
-\end{slide}
-
-
-\subsection{Subsection 2}
-\begin{slide}{Slide 3}
- \begin{itemize}
- \item Item 1
- \item Item 2
- \item Item 3
- \end{itemize}
-\end{slide}
-
-
-
diff --git a/pics/X_Org_Logo.png b/pics/X_Org_Logo.png
new file mode 100644
index 0000000..59b15d4
--- /dev/null
+++ b/pics/X_Org_Logo.png
Binary files differ
diff --git a/pics/logitech_1.png b/pics/logitech_1.png
new file mode 100644
index 0000000..96f428a
--- /dev/null
+++ b/pics/logitech_1.png
Binary files differ
diff --git a/xf86-input-joystick.tex b/xf86-input-joystick.tex
index 1b82b3f..98473c9 100644
--- a/xf86-input-joystick.tex
+++ b/xf86-input-joystick.tex
@@ -2,13 +2,18 @@
\usepackage[utf8x]{inputenc}
% \usetheme[secheader]{Boadilla}
-\usetheme[secheader]{Goettingen}
+% \usetheme[secheader]{Goettingen}
+\usetheme{Malmoe}
+\definecolor{myblue}{RGB}{55,69,104}
+\usecolortheme[named=myblue]{structure}
+\useinnertheme{circles}
\usepackage{hyperref}
\usepackage{ngerman}
\newenvironment{slide}[1]{\begin{frame}[containsverbatim]{#1}}{\end{frame}}
\usepackage{color}
\usepackage{listings}
+\usepackage{pgfpages}
\definecolor{mylightgray}{rgb}{0.91,0.91,0.91}
\lstset{
basicstyle=\ttfamily\tiny,
@@ -21,7 +26,7 @@
breaklines=false,
frame=none,
columns=fixed,
-% escapechar={�},
+% escapechar={},
% extendedchars=true,
commentstyle=\it\color{gray},
directivestyle=\color{green},
@@ -31,32 +36,147 @@
}
+\title{xf86-input-joystick}
\author{\textbf{Sascha Hlusiak}}
-%\institute{Hochschule Ravensburg-Weingarten}
-%\date{}%{February 18th, 2009}
+\logo{\includegraphics[width=1cm,height=1cm]{pics/X_Org_Logo.png}}
+\titlegraphic{\includegraphics[width=4cm,height=4cm]{pics/logitech_1.png}}
+%\institute{}
+%\date{}%{}
+
+
+%% ABSTRACT
+
+%The joystick input module was part of the old XFree86 distribution, but the
+%driver was in a bad state until 2007, when development was pushed forward. It
+%first supported the Linux joystick kernel device only, later on support for
+%evdev devices was added, which added support for the driver to be hotplugged
+%by hal enabled server. A FreeBSD kernel backend is available as well, but
+%like Solaris, this is not a prominent system on workstations. Today the
+%joystick driver is well hotpluggable using udev and supports many features
+%and configuration possibilities, like generating mouse button events, pointer
+%movement or key strokes. Enabling the driver to act as both, a pointer and a
+%keyboard device, was particularly challenging. Having a second keyboard
+%device with a different keyboard layout was a problem too, but situation
+%improved with recent servers and XI2/MPX. Support for properties enable 3rd
+%party programs to be written that change the configuration of the device on
+%demand. Prominent target platforms are Linux on the PS3 or the XBox.
-\title{xf86-input-joystick}
\begin{document}
\maketitle
+\section*{Overview}
+\subsection*{Abstract}
+
\begin{slide}{Abstract}
+ \structure{xf86-input-joystick?}
\begin{itemize}
- \item Item 1
- \item Item 2
- \item Item 3
+ \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}
\begin{slide}{Overview}
-\tableofcontents
+ \tableofcontents
+\end{slide}
+
+
+\section{Basics}
+\begin{slide}{joysticks}
+ \begin{itemize}
+ \item easily 6 or more axes, different types
+ \begin{itemize}
+ \item directional pad
+ \item hat switch
+ \item analog sticks
+ \end{itemize}
+ \item bunch of buttons, easily 10 and more
+ \item sometimes force feedback
+ \end{itemize}
+ \begin{center}
+ \includegraphics[width=4cm,height=4cm]{pics/logitech_1.png}
+ \end{center}
+\end{slide}
+
+
+\begin{slide}{why a joystick input module?}
+ \begin{itemize}
+ \item \textbf{xf86-input-evdev} maps directly to mouse/keyboard events
+ \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:
+ \end{itemize}
+ \scriptsize \vspace{1cm}
+$$
+ \underbrace{
+ \left (
+ \begin{matrix}
+ \text{absolute axes} \\
+ \text{buttons} \\
+ \end{matrix}
+ \right )
+ }_{\text{joystick data}}
+ \Rightarrow
+ \underbrace{
+ px(a_i) = \int_{t} f(a_i) \frac{\mathrm{px}}{\mathrm{s}}
+ }_{\text{transformation}}
+ \Rightarrow
+ \underbrace{
+ \left (
+ \begin{matrix}
+ \text{cursor} \\
+ \text{buttons} \\
+ \text{keys} \\
+ \end{matrix}
+ \right )
+ }_{\text{X events}}
+$$
+
+\end{slide}
+
+
+\begin{slide}{joysticks on kernel level}
+ \structure{kernel device}
+ \begin{itemize}
+ \item usually Plug \& Play (USB)
+ \item event driven $ \Rightarrow $ no polling
+ \end{itemize}
+
+ \structure{Linux}
+ \begin{itemize}
+ \item \texttt{/dev/input/js0} (joydev)
+ \item \texttt{/dev/input/event0} (evdev)
+ \end{itemize}
+
+ \structure{FreeBSD}
+ \begin{itemize}
+ \item \texttt{/dev/input/js0} (linux-js)
+ \item \texttt{/dev/uhid0} (usbhid)
+ \end{itemize}
+
+ $ \Rightarrow $ supported through lightweight abstraction layer
\end{slide}
-\section{Section 1}
- \input{introduction}
+
+
+\section{Backends}
+
+\section{Hotplugging}
+
+\section{Main Features}
+
+\section{Properties}
+
+\section{Future}
+
+
+