aboutsummaryrefslogtreecommitdiff
path: root/marsond.8
diff options
context:
space:
mode:
Diffstat (limited to 'marsond.8')
-rw-r--r--marsond.844
1 files changed, 32 insertions, 12 deletions
diff --git a/marsond.8 b/marsond.8
index 943571d..a5c8db1 100644
--- a/marsond.8
+++ b/marsond.8
@@ -27,18 +27,27 @@ 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-12" "0.3.0" "Urchlay's Stuff"
+.TH "MARSOND" 8 "2026-01-05" "0.4.0" "Urchlay's Stuff"
.SH NAME
marsond \- Fix Enter key timing on Marson/USBLink/MT606-1 PS/2-USB adaptors
.SH SYNOPSIS
.sp
-marsond [\fB\-d\fP \fIdelay\-ms*\fP] [\fB\-f\fP] [\fB\-k\fP \fIkeyboard\-device\fP] [\fB\-p\fP \fIpause_ms\fP [\fB\-v\fP] | [\fB\-\-help\fP] | [\fB\-\-version\fP] | [\fB\-V\fP]
+marsond [\fB\-d\fP \fIdelay\-ms\fP] [\fB\-f\fP] [\fB\-k\fP \fIkeyboard\-device\fP] [\fB\-p\fP \fIpause_ms\fP [\fB\-v\fP] | [\fB\-\-help\fP] | [\fB\-\-version\fP] | [\fB\-V\fP]
.SH DESCRIPTION
.sp
-\fBmarsond\fP fixes an issue with a particular model of PS/2 => USB
-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.
+\fBmarsond\fP fixes two issues with a particular model of PS/2 => USB
+keyboard adaptor. The symptoms:
+.INDENT 0.0
+.IP \(bu 2
+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.
+.IP \(bu 2
+In normal use, pressing and releasing the right Shift key and Enter
+key simultaneously causes the shift key to get "stuck" and act like
+it\(aqs still being held down.
+.UNINDENT
+.sp
See the \fBNOTES\fP section for full details.
.sp
For normal use, \fBmarsond\fP will be started by a \fBudev\fP(7) rule
@@ -140,12 +149,18 @@ you won\(aqt have to set this.
.SH NOTES
.SS Hardware
.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.
+The Enter key dropped keystroke 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 problem where Shift/Enter causes the Shift key to act "stuck"
+happens in any application. It\(aqs particularly annoying because I\(aqm an
+inaccurate typist, and I hit Shift+Enter about 5% of the time when I\(aqm
+just trying to press Enter.
.sp
-The specific hardware that has the Enter key problem for me is USB
+The specific hardware that has the problems 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:
@@ -198,6 +213,11 @@ 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
+It also keeps track of whether the last keypress was the right Shift
+key, and when it sees an Enter keypress while right Shift is held
+down, it sends a right Shift key release event before the Enter press
+event.
+.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). It should also work with Wayland, though I don\(aqt use Wayland,
@@ -231,7 +251,7 @@ device called "marson virtual keyboard", listed as a keyboard.
Only one MT\-606\-1 device is supported, out of the box. This shouldn\(aqt
really be a problem (do you really need 2 keyboards?) but it\(aqs worth
mentioning. If you really do own two of these adaptors and want to use
-them on the same PC, you could add a second udev rule (with \-k option
+them on the same PC, you could add a second udev rule (with \fB\-k\fP option
for the daemon).
.sp
This isn\(aqt really a \fBmarsond\fP problem per se, but when Xorg detects