- actual realtime scheduling (maybe). sched(7). - use a log file instead of stderr, so we can have error/warning messages after detaching from the tty. - find out what happens if we try to run a 2nd instance. - print our /dev/input/event* node name, if possible. - options to set the virtual device name and vendor/product IDs. - much as I hate systemd, get someone to write a systemd unit. - s6 and/or openrc init scripts? - possibly use a UNIX socket. if we can connect to it on startup, that means another instance is already running... so either exit or pass a command to it (like "marsond -K" would kill an existing instance).