aboutsummaryrefslogtreecommitdiff
path: root/marsond.1
diff options
context:
space:
mode:
Diffstat (limited to 'marsond.1')
-rw-r--r--marsond.1116
1 files changed, 95 insertions, 21 deletions
diff --git a/marsond.1 b/marsond.1
index 6bb016b..667e38f 100644
--- a/marsond.1
+++ b/marsond.1
@@ -29,42 +29,109 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
..
.TH "MARSOND" 1 "2025-05-06" "0.1" "SlackBuilds.org"
.SH NAME
-marsond \- Fix Enter key on Marson/USBLinux/MT606-1 adaptors
+marsond \- Fix Enter key timing on Marson/USBLinux/MT606-1 PS/2-USB adaptors
.SH SYNOPSIS
.sp
-marsond [\fB\-d\fP \fIdelay\-ms*\fP] [\fB\-k\fP \fIkeyboard\-device\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\-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.
+.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 see 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.
.SH OPTIONS
+.sp
+Options can be "bundled": \fB\-vf\fP is the same as \fB\-v\fP \fB\-f\fP\&.
.INDENT 0.0
.TP
.BI \-d \ delay\-ms
Amount of time in milliseconds to delay the Enter key release events.
Default: 30.
+.UNINDENT
+.\" delay time for Enter key relase (default 30).
+.
+.INDENT 0.0
+.TP
+.B \-f
+Run in the foreground; do not detach from the terminal or become a
+daemon. In this mode, \fBmarsond\fP can be killed with \fI^C\fP\&.
+.UNINDENT
+.\" run in foreground, not as a daemon.
+.
+.INDENT 0.0
.TP
.BI \-k \ keyboard\-device
Input device for the keyboard adaptor. Default:
/dev/input/by\-id/usb\-Marson_Marson_Keyboard_and_Mouse_Link_Ver:ps2120L\-event\-kbd
+.UNINDENT
+.\" keyboard device (usually under /dev/input/by-id/).
+.
+.INDENT 0.0
.TP
.B \-v
-Verbose debugging mode. Prints copious trace information to \fBstderr\fP, and
-does not run in the background.
+Verbose debugging mode. Prints copious trace information to \fBstderr\fP\&.
+Debugging mode is turned off when \fBmarsond\fP forks itself into the
+background as a daemon. If you want to debug the event loop, combine
+\fB\-v\fP and \fB\-f\fP\&.
+.UNINDENT
+.\" verbose debugging, foreground operation.
+.
+.INDENT 0.0
.TP
-.B \-H\fP,\fB \-\-help
+.B \-h\fP,\fB \-\-help
Shows built\-in usage message and exits.
+.UNINDENT
+.\" this help text.
+.
+.INDENT 0.0
.TP
.B \-V\fP,\fB \-\-version
Shows version number and exits.
.UNINDENT
-.\" other sections we might want, uncomment as needed.
-.
-.\" FILES
-.
-.\" =====
-.
-.\" ENVIRONMENT
-.
-.\" ===========
+.\" show version number.
.
+.SH ENVIRONMENT
+.INDENT 0.0
+.TP
+.B MARSOND_USER
+After initialization, \fBmarsond\fP will drop privileges by
+setting its user ID to this user\(aqs. Default: \fInobody\fP
+.TP
+.B MARSOND_GROUP
+Group to run as, after dropping privileges. Default: \fInogroup\fP
+.UNINDENT
.\" EXIT STATUS
.
.\" ===========
@@ -79,15 +146,22 @@ Shows version number and exits.
.
.SH COPYRIGHT
.sp
-See the file /usr/doc/PRGNAM\-0.1/COPYING for license information.
+WTFPL. Short version: do WTF you want. Full version:
+.INDENT 0.0
+.INDENT 3.5
+\fI\%http://www.wtfpl.net/txt/copying/\fP
+.UNINDENT
+.UNINDENT
.SH AUTHORS
-.sp
-PRGNAM was written by WHOEVER.
-.sp
-This man page written for the SlackBuilds.org project
-by B. Watson, and is licensed under the WTFPL.
+.INDENT 0.0
+.IP B. 3
+Watson <\fI\%urchlay@slackware.uk\fP>
+.UNINDENT
.SH SEE ALSO
.sp
-The PRGNAM homepage: \fI\%http://www.PRGNAM.org/\fP
+The homepage: \fI\%https://slackware.uk/~urchlay/repos/marsond\fP
+.sp
+Another solution to the problem, less complete, but should be portable
+to non\-Linux OSes: \fI\%https://slackware.uk/~urchlay/sdl\-usblink\-hack/\fP
.\" Generated by docutils manpage writer.
.