aboutsummaryrefslogtreecommitdiff
path: root/marsond.8
diff options
context:
space:
mode:
Diffstat (limited to 'marsond.8')
-rw-r--r--marsond.8110
1 files changed, 56 insertions, 54 deletions
diff --git a/marsond.8 b/marsond.8
index ecd7145..48d3eaf 100644
--- a/marsond.8
+++ b/marsond.8
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
-.TH "MARSOND" 8 "2025-05-08" "0.3.0" "Urchlay's Stuff"
+.TH "MARSOND" 8 "2025-05-09" "0.3.0" "Urchlay's Stuff"
.SH NAME
marsond \- Fix Enter key timing on Marson/USBLink/MT606-1 PS/2-USB adaptors
.SH SYNOPSIS
@@ -39,38 +39,7 @@ marsond [\fB\-d\fP \fIdelay\-ms*\fP] [\fB\-f\fP] [\fB\-k\fP \fIkeyboard\-device\
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.
-.sp
-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.
-.sp
-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:
-.INDENT 0.0
-.INDENT 3.5
-\fI\%https://slackware.uk/~urchlay/sdl\-usblink\-hack/marson\-front.jpg\fP
-.sp
-\fI\%https://slackware.uk/~urchlay/sdl\-usblink\-hack/marson\-back.jpg\fP
-.UNINDENT
-.UNINDENT
-.sp
-I\(aqm not sure if any other USB keyboard adaptors are affected. If you
-have the problem on some other adaptor, and \fBmarsond\fP fixes it,
-please contact me so I can add the model number to this man page.
-.sp
-\fBmarsond\fP uses the Linux kernel\(aqs \fBuinput\fP 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.
-.sp
-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\(aqt use Wayland, so I haven\(aqt tested it there. If you do,
-please contact me and let me know if it works for you.
+See the \fBNOTES\fP section for full details.
.sp
For normal use, \fBmarsond\fP will be started by a \fBudev\fP(7) rule
when the adaptor is plugged in (including booting with the adaptor
@@ -83,27 +52,6 @@ connected). The udev rule is found in:
.sp
\&...which can be edited to change the options it\(aqs run with, if
needed. The defaults work well on the author\(aqs system.
-.sp
-\fBmarsond\fP must be run as root. At startup, it does these
-things as root:
-.INDENT 0.0
-.IP \(bu 2
-Grab the physical keyboard.
-.IP \(bu 2
-Create the virtual keyboard device.
-.IP \(bu 2
-Lock its pages into physical memory, to avoid being swapped out.
-.IP \(bu 2
-Set its priority (nice value) to \-20 (highest priority), to
-avoid slow response on a loaded system.
-.UNINDENT
-.sp
-After doing the above, root access is no longer needed, so it will
-drop privileges and run as the \fInobody\fP user by default (but see
-\fBENVIRONMENT\fP if you need a different user).
-.sp
-While \fBmarsond\fP is running, "xinput \-\-list" will show an input
-device called "marson virtual keyboard".
.SH OPTIONS
.sp
Options can be "bundled": \fB\-vf\fP is the same as \fB\-v\fP \fB\-f\fP\&.
@@ -177,6 +125,60 @@ Group to run as, after dropping privileges. Default:
the primary group of the user it\(aqs running as. Normally
you won\(aqt have to set this.
.UNINDENT
+.SH NOTES
+.sp
+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.
+.sp
+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:
+.INDENT 0.0
+.INDENT 3.5
+\fI\%https://slackware.uk/~urchlay/sdl\-usblink\-hack/marson\-front.jpg\fP
+.sp
+\fI\%https://slackware.uk/~urchlay/sdl\-usblink\-hack/marson\-back.jpg\fP
+.UNINDENT
+.UNINDENT
+.sp
+I\(aqm not sure if any other USB keyboard adaptors are affected. If you
+have the problem on some other adaptor, and \fBmarsond\fP fixes it,
+please contact me so I can add support for it in the future.
+.sp
+\fBmarsond\fP uses the Linux kernel\(aqs \fBuinput\fP 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.
+.sp
+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\(aqt use Wayland, so I haven\(aqt tested it there. If you do,
+please contact me and let me know if it works for you.
+.sp
+\fBmarsond\fP must be run as root. At startup, it does these
+things as root:
+.INDENT 0.0
+.IP \(bu 2
+Grab the physical keyboard.
+.IP \(bu 2
+Create the virtual keyboard device.
+.IP \(bu 2
+Lock its pages into physical memory, to avoid being swapped out.
+.IP \(bu 2
+Set its priority (nice value) to \-20 (highest priority), to
+avoid slow response on a loaded system.
+.UNINDENT
+.sp
+After doing the above, root access is no longer needed, so it will
+drop privileges and run as the \fInobody\fP user by default (but see
+\fBENVIRONMENT\fP if you need a different user).
+.sp
+While \fBmarsond\fP is running, "xinput \-\-list" will show an input
+device called "marson virtual keyboard".
.SH LIMITATIONS
.sp
Only one MT\-606\-1 device is supported, out of the box. This shouldn\(aqt