aboutsummaryrefslogtreecommitdiff
path: root/marsond.rst
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2026-01-05 19:19:55 -0500
committerB. Watson <urchlay@slackware.uk>2026-01-05 19:19:55 -0500
commitd565dd895c8029b8dd6afcf9bd41ea7c77a69ae9 (patch)
treee2d5cf55ee9b3cf1c82e207aa610554a0d3ff4a1 /marsond.rst
parenta089029d7dad58b59825f1644da36416a55ef757 (diff)
downloadmarsond-d565dd895c8029b8dd6afcf9bd41ea7c77a69ae9.tar.gz
Bump VERSION to 0.4.0.
Diffstat (limited to 'marsond.rst')
-rw-r--r--marsond.rst40
1 files changed, 29 insertions, 11 deletions
diff --git a/marsond.rst b/marsond.rst
index c21554f..ad41577 100644
--- a/marsond.rst
+++ b/marsond.rst
@@ -18,15 +18,22 @@ Fix Enter key timing on Marson/USBLink/MT606-1 PS/2-USB adaptors
SYNOPSIS
========
-marsond [**-d** *delay-ms**] [**-f**] [**-k** *keyboard-device*] [**-p** *pause_ms* [**-v**] | [**--help**] | [**--version**] | [**-V**]
+marsond [**-d** *delay-ms*] [**-f**] [**-k** *keyboard-device*] [**-p** *pause_ms* [**-v**] | [**--help**] | [**--version**] | [**-V**]
DESCRIPTION
===========
-**marsond** 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.
+**marsond** fixes two issues with a particular model of PS/2 => USB
+keyboard adaptor. The symptoms:
+
+- 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.
+
+- 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's still being held down.
+
See the **NOTES** section for full details.
For normal use, **marsond** will be started by a **udev**\(7) rule
@@ -109,12 +116,18 @@ NOTES
Hardware
--------
-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.
-The specific hardware that has the Enter key problem for me is USB
+The problem where Shift/Enter causes the Shift key to act "stuck"
+happens in any application. It's particularly annoying because I'm an
+inaccurate typist, and I hit Shift+Enter about 5% of the time when I'm
+just trying to press Enter.
+
+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:
@@ -150,6 +163,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.
+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.
+
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't use Wayland,
@@ -187,7 +205,7 @@ LIMITATIONS
Only one MT-606-1 device is supported, out of the box. This shouldn't
really be a problem (do you really need 2 keyboards?) but it's 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 **-k** option
for the daemon).
This isn't really a **marsond** problem per se, but when Xorg detects