git: a4417b9f9cde - stable/15 - moused(8): Start moused with devd
Date: Mon, 22 Sep 2025 09:23:30 UTC
The branch stable/15 has been updated by wulf: URL: https://cgit.FreeBSD.org/src/commit/?id=a4417b9f9cde5ab1ca1ff84da4847bd7d5141c29 commit a4417b9f9cde5ab1ca1ff84da4847bd7d5141c29 Author: Vladimir Kondratyev <wulf@FreeBSD.org> AuthorDate: 2025-09-21 13:14:49 +0000 Commit: Vladimir Kondratyev <wulf@FreeBSD.org> CommitDate: 2025-09-22 09:22:24 +0000 moused(8): Start moused with devd It is appeared that currently starting of moused does not depend on moused_enable variable value in rc.conf. That leads to missing USB mice support in default configuration. Start moused in traditional per device mode with devd to follow POLA. One daemon per system mode still can be enabled with setting of moused_port="auto" moused_nondefault_enable="NO" variables in /etc/rc.conf To revert to sysmouse mode add moused_type="sysmouse" to /etc/rc.conf Reported by: many Requested by: glebius Reviewed by: glebius MFC after: 1 day Differential Revision: https://reviews.freebsd.org/D52430 (cherry picked from commit 66e7f048f0c8e9e726738fadd9dc819bfda3cbfe) --- libexec/rc/rc.conf | 4 ++-- libexec/rc/rc.d/moused | 11 ++++++----- sbin/devd/moused.conf | 9 +++++++++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf index 2506bd45a53f..7525f7c9d1fc 100644 --- a/libexec/rc/rc.conf +++ b/libexec/rc/rc.conf @@ -586,11 +586,11 @@ font8x14="NO" # font 8x14 from /usr/share/{syscons,vt}/fonts/* (or NO). font8x8="NO" # font 8x8 from /usr/share/{syscons,vt}/fonts/* (or NO). blanktime="300" # blank time (in seconds) or "NO" to turn it off. saver="NO" # screen saver: Uses /boot/kernel/${saver}_saver.ko -moused_nondefault_enable="NO" # Treat non-default mice as enabled unless +moused_nondefault_enable="YES" # Treat non-default mice as enabled unless # specifically overridden in rc.conf(5). moused_enable="NO" # Run the mouse daemon. moused_type="evdev" # See man page for rc.conf(5) for available settings. -moused_port="auto" # Set to your mouse port. +moused_port="/dev/psm0" # Set to your mouse port. moused_flags="" # Any additional flags to moused. mousechar_start="NO" # if 0xd0-0xd3 default range is occupied in your # language code table, specify alternative range diff --git a/libexec/rc/rc.d/moused b/libexec/rc/rc.d/moused index 64e4f815eea9..35a26bd57275 100755 --- a/libexec/rc/rc.d/moused +++ b/libexec/rc/rc.d/moused @@ -28,9 +28,10 @@ moused_svcj="NO" # expected to be the mouse device. # if [ -n "$2" ]; then - eval moused_$2_enable=\${moused_$2_enable-${moused_nondefault_enable}} - rcvar="moused_${2}_enable" - pidfile="${pidprefix}.$2.pid" + ms=`basename $2` + eval moused_${ms}_enable=\${moused_${ms}_enable-${moused_nondefault_enable}} + rcvar="moused_${ms}_enable" + pidfile="${pidprefix}.${ms}.pid" pidarg="-I $pidfile" fi @@ -45,10 +46,10 @@ moused_start() # the moused_port variable, which if not defined sets it to the # passed in device name. # - ms=$1 + ms=`basename $1` if [ -n "$ms" ]; then eval myflags=\${moused_${ms}_flags-$moused_flags} - eval myport=\${moused_${ms}_port-/dev/$ms} + eval myport=\${moused_${ms}_port-/dev/$1} eval mytype=\${moused_${ms}_type-$moused_type} if [ -n "$mytype" ] && check_kern_features evdev_support; then typearg="-t ${mytype}" diff --git a/sbin/devd/moused.conf b/sbin/devd/moused.conf index ed1060ffdf2e..8821c2bb8375 100644 --- a/sbin/devd/moused.conf +++ b/sbin/devd/moused.conf @@ -33,3 +33,12 @@ notify 100 { action "service moused quietstop $cdev"; }; + +notify 100 { + match "system" "DEVFS"; + match "subsystem" "CDEV"; + match "type" "CREATE"; + match "cdev" "input/event[0-9]+"; + + action "service moused quietstart $cdev"; +};