diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | marsond.8 | 14 | ||||
-rw-r--r-- | marsond.c | 9 | ||||
-rw-r--r-- | marsond.rst | 12 | ||||
-rw-r--r-- | usage.c | 1 |
5 files changed, 32 insertions, 6 deletions
@@ -7,7 +7,7 @@ ### Project information. PROJ=marsond -VERSION=0.2.0 +VERSION=0.3.0 ### Compiler and options. CC=gcc @@ -27,12 +27,12 @@ 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-07" "0.2.0" "Urchlay's Stuff" +.TH "MARSOND" 8 "2025-05-07" "0.3.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\-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 @@ -121,6 +121,16 @@ Input device for the keyboard adaptor. Default: . .INDENT 0.0 .TP +.BI \-p \ pause\-ms +Amount of time in milliseconds to pause at startup, before opening the +keyboard and uinput devices. May be useful on slow systems, if +\fBmarsond\fP won\(aqt consistently start from udev, but works fine +if started manually. Default: 0. +.UNINDENT +.\" pause before opening keyboard/uinput devs (default 0). +. +.INDENT 0.0 +.TP .B \-v Verbose debugging mode. Prints copious trace information to \fBstderr\fP\&. Debugging mode is turned off when \fBmarsond\fP forks itself into the @@ -35,6 +35,7 @@ int debugging = 0; /* -v */ int foreground = 0; /* -v */ const char *keyboard_dev = DEFAULT_KBD; /* -k */ int delay_ms = DEFAULT_DELAY_MS; /* -d */ +int pause_ms = 0; /* -p */ int infd = -1, outfd = -1; @@ -95,12 +96,13 @@ void parse_args(int argc, char **argv) { } } - while( (opt = getopt(argc, argv, "d:hfk:vV")) != -1) { + while( (opt = getopt(argc, argv, "d:hfk:p:vV")) != -1) { switch(opt) { case 'd': delay_ms = atoi(optarg); break; case 'f': foreground++; break; case 'h': print_help(); exit(0); break; case 'k': keyboard_dev = optarg; break; + case 'p': pause_ms = atoi(optarg); break; case 'v': debugging++; break; case 'V': version(); exit(0); break; case '?': die("invalid option (try --help)"); break; @@ -276,6 +278,11 @@ int main(int argc, char **argv) { parse_args(argc, argv); + if(pause_ms > 0) { + debug("pausing %dms due to -p option"); + usleep(pause_ms * 1000); + } + if((outfd = open("/dev/uinput", O_WRONLY | O_NONBLOCK)) >= 0) { debug("opened /dev/uinput"); } else { diff --git a/marsond.rst b/marsond.rst index 263c4a2..8f56ace 100644 --- a/marsond.rst +++ b/marsond.rst @@ -1,5 +1,5 @@ -.. |version| replace:: 0.2.0 +.. |version| replace:: 0.3.0 .. |date| date:: ======= @@ -18,7 +18,7 @@ Fix Enter key timing on Marson/USBLink/MT606-1 PS/2-USB adaptors SYNOPSIS ======== -marsond [**-d** *delay-ms**] [**-f**] [**-k** *keyboard-device*] [**-v**] | [**--help**] | [**--version**] | [**-V**] +marsond [**-d** *delay-ms**] [**-f**] [**-k** *keyboard-device*] [**-p** *pause_ms* [**-v**] | [**--help**] | [**--version**] | [**-V**] DESCRIPTION =========== @@ -99,6 +99,14 @@ Options can be "bundled": **-vf** is the same as **-v** **-f**. .. keyboard device (usually under /dev/input/by-id/). +-p pause-ms + Amount of time in milliseconds to pause at startup, before opening the + keyboard and uinput devices. May be useful on slow systems, if + **marsond** won't consistently start from udev, but works fine + if started manually. Default: 0. + +.. pause before opening keyboard/uinput devs (default 0). + -v Verbose debugging mode. Prints copious trace information to **stderr**. Debugging mode is turned off when **marsond** forks itself into the @@ -2,6 +2,7 @@ const char *helptext[] = { " -d delay-ms: delay time for Enter key relase (default 30).", " -f: run in foreground, not as a daemon.", " -k keyboard-device: keyboard device (usually under /dev/input/by-id/).", + " -p pause-ms: pause before opening keyboard/uinput devs (default 0).", " -v: verbose debugging.", " -h, --help: this help text.", " -V, --version: show version number.", |