Re: git: a4417b9f9cde - stable/15 - moused(8): Start moused with devd

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Mon, 22 Sep 2025 18:16:38 UTC
In message <202509220923.58M9NUsR099992@gitrepo.freebsd.org>, Vladimir 
Kondraty
ev writes:
> The branch stable/15 has been updated by wulf:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=a4417b9f9cde5ab1ca1ff84da4847bd7
> d5141c29
>
> 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/{sy
> scons,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 of
> f.
>  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_ena
> ble}}
> +	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`

This is misplaced resulting in,

usage: basename string [suffix]
       basename [-a] [-s suffix] string [...]

>  	if [ -n "$ms" ]; then

This should be $1.

>  		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";
> +};
>


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e**(i*pi)+1=0