UMS(4)

πŸ“¦
version 15.1 Β· 3 versions
, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

✨ UMS(4) β€” the USB mouse driver, bestie edition πŸ’…

okay so quick vibe check: this is the Kernel Interfaces Manual page for ums, and honestly it's giving "tiny driver, big main character energy" 🐭✨ Let's get into it.


πŸŽ€ NAME πŸŽ€

ums β€” the USB mouse driver. that's it, that's the whole name, and she ate πŸ’…


🌸 SYNOPSIS 🌸

so if you wanna compile this driver into the kernel (no cap, some of y'all still do this), you drop these lines into your kernel configuration file:

device ums
device hid
device uhci
device ohci
device usb

or β€” and this is the lowkey easier route β€” you can load the driver as a module at boot time by putting this line in loader.conf(5):

ums_load="YES"

literally that's it. one line. slay 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

the ums driver provides support for mice that attach to the USB port. and bestie, it's not picky β€” supported are mice with any number of buttons and mice with a wheel πŸ”₯ like, any number. iconic behavior tbh.

the /dev/ums0 device presents the mouse as a sysmouse or mousesystems type device. if you're like "wait what does that mean," see moused(8) for an explanation of these mouse types β€” it's all in there, iykyk πŸ’œ


⭐ SYSCTL VARIABLES ⭐

these following variables are available as both sysctl(8) variables and loader(8) tunables β€” dual threat, we love to see it πŸ‘‘

  • hw.usb.ums.debug β€” the debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. default is 0. so like, leave it at 0 unless you're in your detective era πŸ•΅οΈβ€β™€οΈ

πŸ“ FILES πŸ“

  • /dev/ums0 β€” blocking device node. that's the whole description, she's mysterious like that πŸ™ˆ

🌈 EXAMPLES 🌈

want your console mouse to be the first USB mouse on the system? say less:

moused -p /dev/ums0 -t auto

want to use the USB mouse under X? then change the "Pointer" section in xorg.conf to the following:

Device /dev/ums0
Protocol Auto

and if you want the mouse to work in both virtual consoles AND in X? (the dream, honestly) change it to:

Device /dev/sysmouse
Protocol Auto
ok so note that these last two are alternatives β€” you pick /dev/ums0 for X-only vibes, or /dev/sysmouse for the have-it-all lifestyle ✨

πŸ‘‘ SEE ALSO πŸ‘‘

ohci(4), sysmouse(4), uhci(4), usb(4), xorg.conf(5) (ports/x11/xorg), moused(8) β€” go read them, they're all part of the friend group πŸ’–


🧚 AUTHORS 🧚

the ums driver was written by Lennart Augustsson <augustss@cs.chalmers.se> for NetBSD and was adopted for FreeBSD by MAEKAWA Masahide <bishop@rr.iij4u.or.jp>. legends, both of them 🫑

this manual page was written by Nick Hibma <n_hibma@FreeBSD.org> with input from Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>. shoutout to the whole crew πŸ’


aaaaand that's the page! this one's from the Debian flavor of things, dated April 24, 2018 β€” so she's got a little vintage charm, but she still slays πŸ’« mwah, go plug in a mouse πŸ­πŸ’–

πŸ“¦ where this page comes from