Commit b08c118c authored by Dmitry Torokhov's avatar Dmitry Torokhov

Input: docs - split input docs into kernel- and user-facing

Split input documentation into several groups: kernel- and user-facing, and
notes about individual device drivers. Move device drivers docs into a
separate subdirectory.
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 6c6d5752
...@@ -5,7 +5,7 @@ ALPS Touchpad Protocol ...@@ -5,7 +5,7 @@ ALPS Touchpad Protocol
Introduction Introduction
------------ ------------
Currently the ALPS touchpad driver supports seven protocol versions in use by Currently the ALPS touchpad driver supports seven protocol versions in use by
ALPS touchpads, called versions 1, 2, 3, 4, 5, 6 and 7. ALPS touchpads, called versions 1, 2, 3, 4, 5, 6, 7 and 8.
Since roughly mid-2010 several new ALPS touchpads have been released and Since roughly mid-2010 several new ALPS touchpads have been released and
integrated into a variety of laptops and netbooks. These new touchpads integrated into a variety of laptops and netbooks. These new touchpads
......
Kernel driver for CMA3000-D0x CMA3000-D0x Accelerometer
============================= =========================
Supported chips: Supported chips:
* VTI CMA3000-D0x * VTI CMA3000-D0x
......
Crystal SoundFusion CS4610/CS4612/CS461 joystick Crystal SoundFusion CS4610/CS4612/CS461 joystick
================================================ ================================================
Preface
-------
This is a new low-level driver to support analog joystick attached to This is a new low-level driver to support analog joystick attached to
Crystal SoundFusion CS4610/CS4612/CS4615. This code is based upon Crystal SoundFusion CS4610/CS4612/CS4615. This code is based upon
Vortex/Solo drivers as an example of decoration style, and ALSA Vortex/Solo drivers as an example of decoration style, and ALSA
...@@ -25,11 +22,8 @@ screen in VJOYD); I have no documentation on my chip; and the existing ...@@ -25,11 +22,8 @@ screen in VJOYD); I have no documentation on my chip; and the existing
behavior in my case was not raised the requirement of joystick calibration. behavior in my case was not raised the requirement of joystick calibration.
So the driver have no code to perform hardware related calibration. So the driver have no code to perform hardware related calibration.
The patch contains minor changes of Config.in and Makefile files. All
needed code have been moved to one separate file cs461x.c like ns558.c
This driver have the basic support for PCI devices only; there is no This driver have the basic support for PCI devices only; there is no
ISA or PnP ISA cards supported. AFAIK the ns558 have support for Crystal ISA or PnP ISA cards supported.
ISA and PnP ISA series.
The driver works with ALSA drivers simultaneously. For example, the xracer The driver works with ALSA drivers simultaneously. For example, the xracer
uses joystick as input device and PCM device as sound output in one time. uses joystick as input device and PCM device as sound output in one time.
......
...@@ -7,8 +7,8 @@ i.e. each tilt switch providing one axis, and the number of axes ...@@ -7,8 +7,8 @@ i.e. each tilt switch providing one axis, and the number of axes
is also not limited. is also not limited.
Data structures: Data structures
---------------- ---------------
The array of struct gpio in the gpios field is used to list the gpios The array of struct gpio in the gpios field is used to list the gpios
that represent the current tilt state. that represent the current tilt state.
...@@ -24,8 +24,8 @@ In the same manner the values stored in the axes array correspond to ...@@ -24,8 +24,8 @@ In the same manner the values stored in the axes array correspond to
the elements of the gpio_tilt_axis-array. the elements of the gpio_tilt_axis-array.
Example: Example
-------- -------
Example configuration for a single TS1003 tilt switch that rotates around Example configuration for a single TS1003 tilt switch that rotates around
one axis in 4 steps and emits the current tilt via two GPIOs:: one axis in 4 steps and emits the current tilt via two GPIOs::
......
Driver-specific documentation
=============================
This section provides information about various devices supported by the
Linux kernel, their protocols, and driver details.
.. toctree::
:maxdepth: 2
:numbered:
:glob:
*
.. only:: subproject and html
Indices
=======
* :ref:`genindex`
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
.. _joystick-parport: .. _joystick-parport:
============================== ==============================
Parallel port Joystick Drivers Parallel Port Joystick Drivers
============================== ==============================
:Copyright: |copy| 1998-2000 Vojtech Pavlik <vojtech@ucw.cz> :Copyright: |copy| 1998-2000 Vojtech Pavlik <vojtech@ucw.cz>
......
.. include:: <isonum.txt> .. include:: <isonum.txt>
=============== =================
Sentelic Driver Sentelic Touchpad
=============== =================
:Copyright: |copy| 2002-2011 Sentelic Corporation. :Copyright: |copy| 2002-2011 Sentelic Corporation.
:Last update: Dec-07-2011 :Last update: Dec-07-2011
Finger Sensing Pad Intellimouse Mode(scrolling wheel, 4th and 5th buttons) Finger Sensing Pad Intellimouse Mode (scrolling wheel, 4th and 5th buttons)
========================================================================== ============================================================================
A) MSID 4: Scrolling wheel mode plus Forward page(4th button) and Backward A) MSID 4: Scrolling wheel mode plus Forward page(4th button) and Backward
page (5th button) page (5th button)
......
...@@ -125,7 +125,7 @@ the controller device) with the only difference in a nonstandard connector ...@@ -125,7 +125,7 @@ the controller device) with the only difference in a nonstandard connector
You just need to solder a USB connector onto the cable and keep the You just need to solder a USB connector onto the cable and keep the
yellow wire unconnected. The other pins have the same order on both yellow wire unconnected. The other pins have the same order on both
connectors so there is no magic to it. Detailed info on these matters connectors so there is no magic to it. Detailed info on these matters
can be found on the net ([1], [2], [3]). can be found on the net ([1]_, [2]_, [3]_).
Thanks to the trip splitter found on the cable you don't even need to cut the Thanks to the trip splitter found on the cable you don't even need to cut the
original one. You can buy an extension cable and cut that instead. That way, original one. You can buy an extension cable and cut that instead. That way,
...@@ -138,7 +138,7 @@ Driver Installation ...@@ -138,7 +138,7 @@ Driver Installation
Once you have the adapter cable, if needed, and the controller connected Once you have the adapter cable, if needed, and the controller connected
the xpad module should be auto loaded. To confirm you can cat the xpad module should be auto loaded. To confirm you can cat
/proc/bus/usb/devices. There should be an entry like the one at the end [4]. /proc/bus/usb/devices. There should be an entry like the one at the end [4]_.
...@@ -199,13 +199,12 @@ the basic functionality. ...@@ -199,13 +199,12 @@ the basic functionality.
References References
========== ==========
[1]: http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki) .. [1] http://euc.jp/periphs/xbox-controller.ja.html (ITO Takayuki)
.. [2] http://xpad.xbox-scene.com/
.. [3] http://www.markosweb.com/www/xboxhackz.com/
.. [4] /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany):
[2]: http://xpad.xbox-scene.com/ ::
[3]: http://www.markosweb.com/www/xboxhackz.com/
[4]: /proc/bus/usb/devices - dump from InterAct PowerPad Pro (Germany)::
T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0 T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=32 #Cfgs= 1
...@@ -214,8 +213,9 @@ References ...@@ -214,8 +213,9 @@ References
I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=(none) I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl= 10ms
E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl= 10ms
.. [5] /proc/bus/usb/devices - dump from Redoctane Xbox Dance Pad (US):
[5]: /proc/bus/usb/devices - dump from Redoctane Xbox Dance Pad (US):: ::
T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0 T: Bus=01 Lev=02 Prnt=09 Port=00 Cnt=01 Dev#= 10 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
...@@ -225,9 +225,7 @@ References ...@@ -225,9 +225,7 @@ References
I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=xpad I: If#= 0 Alt= 0 #EPs= 2 Cls=58(unk. ) Sub=42 Prot=00 Driver=xpad
E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=4ms
E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4ms E: Ad=02(O) Atr=03(Int.) MxPS= 32 Ivl=4ms
.. [6] http://lxr.free-electrons.com/ident?i=xpad_device
[6]: http://lxr.free-electrons.com/ident?i=xpad_device
Historic Edits Historic Edits
......
...@@ -18,36 +18,6 @@ The p1k is a relatively cheap usb 1.1 phone with: ...@@ -18,36 +18,6 @@ The p1k is a relatively cheap usb 1.1 phone with:
For vendor documentation see http://www.yealink.com For vendor documentation see http://www.yealink.com
Compilation (stand alone version)
=================================
Currently only kernel 2.6.x.y versions are supported.
In order to build the yealink.ko module do::
make
If you encounter problems please check if in the MAKE_OPTS variable in
the Makefile is pointing to the location where your kernel sources
are located, default /usr/src/linux.
Troubleshooting
~~~~~~~~~~~~~~~
:Q: Module yealink compiled and installed without any problem but phone
is not initialized and does not react to any actions.
:A: If you see something like:
hiddev0: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone
in dmesg, it means that the hid driver has grabbed the device first. Try to
load module yealink before any other usb hid driver. Please see the
instructions provided by your distribution on module configuration.
:Q: Phone is working now (displays version and accepts keypad input) but I can't
find the sysfs files.
:A: The sysfs files are located on the particular usb endpoint. On most
distributions you can do: "find /sys/ -name get_icons" for a hint.
keyboard features keyboard features
================= =================
...@@ -229,6 +199,23 @@ limit of the device. ...@@ -229,6 +199,23 @@ limit of the device.
aplay foobar.wav aplay foobar.wav
Troubleshooting
===============
:Q: Module yealink compiled and installed without any problem but phone
is not initialized and does not react to any actions.
:A: If you see something like:
hiddev0: USB HID v1.00 Device [Yealink Network Technology Ltd. VOIP USB Phone
in dmesg, it means that the hid driver has grabbed the device first. Try to
load module yealink before any other usb hid driver. Please see the
instructions provided by your distribution on module configuration.
:Q: Phone is working now (displays version and accepts keypad input) but I can't
find the sysfs files.
:A: The sysfs files are located on the particular usb endpoint. On most
distributions you can do: "find /sys/ -name get_icons" for a hint.
Credits & Acknowledgments Credits & Acknowledgments
========================= =========================
......
----------------- ---------------------------
Linux Gamepad API Linux Gamepad Specification
----------------- ---------------------------
:Author: 2013 by David Herrmann <dh.herrmann@gmail.com> :Author: 2013 by David Herrmann <dh.herrmann@gmail.com>
Intro Introduction
~~~~~ ~~~~~~~~~~~~
Linux provides many different input drivers for gamepad hardware. To avoid Linux provides many different input drivers for gamepad hardware. To avoid
having user-space deal with different button-mappings for each gamepad, this having user-space deal with different button-mappings for each gamepad, this
document defines how gamepads are supposed to report their data. document defines how gamepads are supposed to report their data.
......
...@@ -8,42 +8,9 @@ Contents: ...@@ -8,42 +8,9 @@ Contents:
:maxdepth: 2 :maxdepth: 2
:numbered: :numbered:
input input_uapi
input-programming input_kapi
event-codes devices/index
joydev/index
multi-touch-protocol
gamepad
gameport-programming
ff
notifier
userio
Input drivers
=============
.. toctree::
:maxdepth: 2
:numbered:
alps
amijoy
appletouch
atarikbd
bcm5974
cma3000_d0x
cs461x
edt-ft5x06
elantech
iforce-protocol
joystick-parport
gpio-tilt
ntrig
rotary-encoder
sentelic
walkera0701
xpad
yealink
.. only:: subproject and html .. only:: subproject and html
......
~~~~~~~~~~~~~~~~~~~~~~~~~ ===============================
Programming input drivers
~~~~~~~~~~~~~~~~~~~~~~~~~
Creating an input device driver Creating an input device driver
=============================== ===============================
......
.. include:: <isonum.txt>
################################
Linux Input Subsystem kernel API
################################
.. class:: toc-title
Table of Contents
.. toctree::
:maxdepth: 2
:numbered:
input-programming
gameport-programming
notifier
.. include:: <isonum.txt>
###################################
Linux Input Subsystem userspace API
###################################
.. class:: toc-title
Table of Contents
.. toctree::
:maxdepth: 2
:numbered:
input
event-codes
multi-touch-protocol
gamepad
ff
joydev/index
userio
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment