diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2017-04-04 17:51:04 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2017-04-05 15:45:07 -0700 |
commit | e2ba573120feadfb365467f0cdae2918926efabc (patch) | |
tree | 0274ef579fcafc4646d0c82eeb4ae826ff61cfbd /Documentation/input/userio.txt | |
parent | 1ad1473f65da8e61120e8f1b68bc92f2b71ba879 (diff) | |
download | linux-e2ba573120feadfb365467f0cdae2918926efabc.tar.gz linux-e2ba573120feadfb365467f0cdae2918926efabc.tar.bz2 linux-e2ba573120feadfb365467f0cdae2918926efabc.zip |
Input: create a book with Linux Input documentation
Now that all files under Documentation/input follows the ReST markup
language, rename them to *.rst and create a book for the Linux Input
subsystem.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'Documentation/input/userio.txt')
-rw-r--r-- | Documentation/input/userio.txt | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/Documentation/input/userio.txt b/Documentation/input/userio.txt deleted file mode 100644 index f780c77931fe..000000000000 --- a/Documentation/input/userio.txt +++ /dev/null @@ -1,85 +0,0 @@ -.. include:: <isonum.txt> - -=================== -The userio Protocol -=================== - - -:Copyright: |copy| 2015 Stephen Chandler Paul <thatslyude@gmail.com> - -Sponsored by Red Hat - - -Introduction -============= - -This module is intended to try to make the lives of input driver developers -easier by allowing them to test various serio devices (mainly the various -touchpads found on laptops) without having to have the physical device in front -of them. userio accomplishes this by allowing any privileged userspace program -to directly interact with the kernel's serio driver and control a virtual serio -port from there. - -Usage overview -============== - -In order to interact with the userio kernel module, one simply opens the -/dev/userio character device in their applications. Commands are sent to the -kernel module by writing to the device, and any data received from the serio -driver is read as-is from the /dev/userio device. All of the structures and -macros you need to interact with the device are defined in <linux/userio.h> and -<linux/serio.h>. - -Command Structure -================= - -The struct used for sending commands to /dev/userio is as follows:: - - struct userio_cmd { - __u8 type; - __u8 data; - }; - -``type`` describes the type of command that is being sent. This can be any one -of the USERIO_CMD macros defined in <linux/userio.h>. ``data`` is the argument -that goes along with the command. In the event that the command doesn't have an -argument, this field can be left untouched and will be ignored by the kernel. -Each command should be sent by writing the struct directly to the character -device. In the event that the command you send is invalid, an error will be -returned by the character device and a more descriptive error will be printed -to the kernel log. Only one command can be sent at a time, any additional data -written to the character device after the initial command will be ignored. - -To close the virtual serio port, just close /dev/userio. - -Commands -======== - -USERIO_CMD_REGISTER -~~~~~~~~~~~~~~~~~~~ - -Registers the port with the serio driver and begins transmitting data back and -forth. Registration can only be performed once a port type is set with -USERIO_CMD_SET_PORT_TYPE. Has no argument. - -USERIO_CMD_SET_PORT_TYPE -~~~~~~~~~~~~~~~~~~~~~~~~ - -Sets the type of port we're emulating, where ``data`` is the port type being -set. Can be any of the macros from <linux/serio.h>. For example: SERIO_8042 -would set the port type to be a normal PS/2 port. - -USERIO_CMD_SEND_INTERRUPT -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Sends an interrupt through the virtual serio port to the serio driver, where -``data`` is the interrupt data being sent. - -Userspace tools -=============== - -The userio userspace tools are able to record PS/2 devices using some of the -debugging information from i8042, and play back the devices on /dev/userio. The -latest version of these tools can be found at: - - https://github.com/Lyude/ps2emu |