From 03664eefad6bdfc0e420b33800ff245edb5c2242 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Tue, 6 May 2025 15:07:00 -0400 Subject: update README. --- README | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README b/README index f133158..8126f2d 100644 --- a/README +++ b/README @@ -1,3 +1,53 @@ Marson MT-601 USBLinux Daemon ============================= +What is it? +----------- + +marsond is a daemon for Linux that 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, which is about 10x as fast as a human could press +and release a key. + +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". + +marsond uses the Linux uinput layer, so it's not portable to other +operating systems. If you're looking for a non-Linux solution, see: + +https://slackware.uk/~urchlay/sdl-usblink-hack/ + + +Prerequisites +------------- + +- Recent-ish Linux kernel. Anything from 4.x up should be fine. +- Kernel headers. +- uinput support in the kernel. Most distros should have this. +- gcc or clang. +- make. +- perl. +- The usual Linux development stuff (shell, coreutils, etc). + + +Building +-------- + +The usual "make" and "make install". See the Makefile for variables +you can adjust. + + +Running the daemon +------------------ + +Everyone seems to use a different init system these days. I only +provide an rc.marsond script for Slackware's SysV init. Basically, you +want to start up the daemon at boot, using whatever facility your OS +provides (systemd, s6, openrc, etc). It must be started as root, and +it will drop privileges after initialization and run as the 'nobody' +user by default. See the man page for other options you might want +to use. -- cgit v1.2.3