syndaemon(1)

πŸ“¦
version 1.10.0 Β· 3 versions
, in alpine 3.24, arch rolling, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

πŸ’– syndaemon β€” the touchpad-babysitter we all needed πŸ’–

okay bestie, gather round, because this one is genuinely a lifesaver. this is the syndaemon(1) page β€” a little program that watches your keyboard and shuts your touchpad up while you're typing. you know that thing where your palm brushes the trackpad mid-sentence and suddenly your cursor is in a whole different window? yeah. she fixes that. ✨


🌸 NAME 🌸

syndaemon β€” a program that monitors keyboard activity and disables the touchpad when the keyboard is being used. fr fr, that's the whole job description. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

syndaemon [-i idle-time] [-m poll-inverval] [-d] [-p pid-file] [-t] [-k]
[-K] [-R]

(yes the flags look like a lot. no, they're not scary. we'll go through every single one, i promise. 🫢)


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the vibe: disabling the touchpad while typing avoids unwanted movements of the pointer that could lead to giving focus to the wrong window. that's it. that's the entire plot. you type, she sleeps the touchpad, you stop, she wakes it back up. no more rage-quitting because your cursor yeeted itself into another app mid-paragraph. iconic behavior, honestly πŸ‘‘


✨ OPTIONS ✨

  • -i <idle-time> β€” how many seconds to wait after the last key press before enabling the touchpad. default is 2.0s. lowkey the most important dial here.
  • -m <poll-interval> β€” how many milliseconds to wait between two polling intervals. if this value is too low, it will cause unnecessary wake-ups (your CPU is like "girl why are we up again 😭"). if this value is too high, some key presses (press and release happen between two intervals) may not be noticed. this switch has no effect when running with -R. default is 200ms.
  • -d β€” start as a daemon, ie in the background. she's independent, she doesn't need a terminal window. main character energy. πŸ’…
  • -p <pid-file> β€” create a pid file with the specified filename. a pid file will only be created if the program is started in daemon mode. so pair it with -d or it's just not happening bestie.
  • -t β€” only disable tapping and scrolling, not mouse movements, in response to keyboard activity. the polite, gentle version. 🌸
  • -k β€” ignore modifier keys when monitoring keyboard activity. ctrl, alt, shift etc. don't count as "typing" for her purposes.
  • -K β€” like -k but also ignore Modifier+Key combos. so ctrl+c doesn't even register as activity. the extra-chill version of -k.
  • -R β€” use the XRecord extension for detecting keyboard activity instead of polling the keyboard state. (reminder: this makes -m do absolutely nothing. ⭐)
  • -? β€” show the help message. when in doubt, ask. πŸ™ˆ

πŸ’œ ENVIRONMENT VARIABLES πŸ’œ

  • DISPLAY β€” specifies the X server to contact. that's the one, that's the whole list. πŸ’€

πŸ”₯ EXIT CODES πŸ”₯

if syndaemon bails with a return code that isn't 0, the error encountered is as below. write these down, iykyk:

  • Exit code 1 β€” invalid commandline argument. (you typed something weird, bestie 🫠)
  • Exit code 2 β€” the connection to the X server could not be established or no touchpad device could be found. πŸ’€
  • Exit code 3 β€” the fork into daemon mode failed or the pid file could not be created. 😭
  • Exit code 4 β€” XRECORD requested but not available or usable on the server.

🌈 CAVEATS 🌈

it doesn't make much sense to connect to a remote X server, because the daemon will then monitor the remote server for keyboard activity, but will disable the touchpad on the local machine. so like… she's watching one house and locking the door of another. no cap, that's a mess. don't do it. πŸ™ˆ

πŸ‘‘ AUTHORS πŸ‘‘

Peter Osterlund <petero2@telia.com>.

This man page was written by Mattia Dongili <malattia@debian.org>.


⭐ SEE ALSO ⭐

Xorg(1), synclient(1), synaptics(4)


and that's the whole page, bestie β€” go forth and type in peace. πŸŽ€ this was X Version 11, xf86-input-synaptics 1.10.0, mwah, love u, bye! πŸ’–βœ¨