aboutsummaryrefslogtreecommitdiff
path: root/marsond.rst
diff options
context:
space:
mode:
Diffstat (limited to 'marsond.rst')
-rw-r--r--marsond.rst100
1 files changed, 52 insertions, 48 deletions
diff --git a/marsond.rst b/marsond.rst
index 2a95b71..ce0e102 100644
--- a/marsond.rst
+++ b/marsond.rst
@@ -27,35 +27,7 @@ DESCRIPTION
keyboard adaptor. The symptom: in games and emulators, the Enter key
only works sometimes. This is caused by the firmware in the adaptor
sending the keypress and release events only 8 milliseconds apart.
-
-The problem happens with any SDL application (SDL1 or SDL2), as well
-as other graphics libraries. It happens regardless of what PS/2
-keyboard you have plugged in, what computer you have the adaptor
-plugged into, or what OS that computer is running.
-
-The specific hardware that has the Enter key problem for me is USB
-vendor ID 04b4, product ID 0101, "Marson Keyboard and Mouse Link
-Ver:ps2120L". It has a label on the front that says "USBLink", and on
-the back, the model number is "MT606-1". It looks like:
-
- https://slackware.uk/~urchlay/sdl-usblink-hack/marson-front.jpg
-
- https://slackware.uk/~urchlay/sdl-usblink-hack/marson-back.jpg
-
-I'm not sure if any other USB keyboard adaptors are affected. If you
-have the problem on some other adaptor, and **marsond** fixes it,
-please contact me so I can add the model number to this man page.
-
-**marsond** uses the Linux kernel's **uinput** layer to "grab" the
-keyboard, create a new virtual keyboard device, and pass events from
-the real keyboard to the virtual one. When it sees the key release
-event for the Enter key, it simply pauses for a few milliseconds
-before delivering it.
-
-This should work with everything that uses the keyboard. It definitely
-does, with SDL 1 and 2 running under X (and SDL 1 on the console,
-too). I don't use Wayland, so I haven't tested it there. If you do,
-please contact me and let me know if it works for you.
+See the **NOTES** section for full details.
For normal use, **marsond** will be started by a **udev**\(7) rule
when the adaptor is plugged in (including booting with the adaptor
@@ -66,25 +38,6 @@ connected). The udev rule is found in:
...which can be edited to change the options it's run with, if
needed. The defaults work well on the author's system.
-**marsond** must be run as root. At startup, it does these
-things as root:
-
-- Grab the physical keyboard.
-
-- Create the virtual keyboard device.
-
-- Lock its pages into physical memory, to avoid being swapped out.
-
-- Set its priority (nice value) to -20 (highest priority), to
- avoid slow response on a loaded system.
-
-After doing the above, root access is no longer needed, so it will
-drop privileges and run as the *nobody* user by default (but see
-**ENVIRONMENT** if you need a different user).
-
-While **marsond** is running, "xinput --list" will show an input
-device called "marson virtual keyboard".
-
OPTIONS
=======
@@ -146,6 +99,57 @@ MARSOND_GROUP
the primary group of the user it's running as. Normally
you won't have to set this.
+NOTES
+=====
+
+The problem happens with any SDL application (SDL1 or SDL2), as well
+as other graphics libraries. It happens regardless of what PS/2
+keyboard you have plugged in, what computer you have the adaptor
+plugged into, or what OS that computer is running.
+
+The specific hardware that has the Enter key problem for me is USB
+vendor ID 04b4, product ID 0101, "Marson Keyboard and Mouse Link
+Ver:ps2120L". It has a label on the front that says "USBLink", and on
+the back, the model number is "MT606-1". It looks like:
+
+ https://slackware.uk/~urchlay/sdl-usblink-hack/marson-front.jpg
+
+ https://slackware.uk/~urchlay/sdl-usblink-hack/marson-back.jpg
+
+I'm not sure if any other USB keyboard adaptors are affected. If you
+have the problem on some other adaptor, and **marsond** fixes it,
+please contact me so I can add support for it in the future.
+
+**marsond** uses the Linux kernel's **uinput** layer to "grab" the
+keyboard, create a new virtual keyboard device, and pass events from
+the real keyboard to the virtual one. When it sees the key release
+event for the Enter key, it simply pauses for a few milliseconds
+before delivering it.
+
+This should work with everything that uses the keyboard. It definitely
+does, with SDL 1 and 2 running under X (and SDL 1 on the console,
+too). I don't use Wayland, so I haven't tested it there. If you do,
+please contact me and let me know if it works for you.
+
+**marsond** must be run as root. At startup, it does these
+things as root:
+
+- Grab the physical keyboard.
+
+- Create the virtual keyboard device.
+
+- Lock its pages into physical memory, to avoid being swapped out.
+
+- Set its priority (nice value) to -20 (highest priority), to
+ avoid slow response on a loaded system.
+
+After doing the above, root access is no longer needed, so it will
+drop privileges and run as the *nobody* user by default (but see
+**ENVIRONMENT** if you need a different user).
+
+While **marsond** is running, "xinput --list" will show an input
+device called "marson virtual keyboard".
+
LIMITATIONS
===========