Re: different wsmouse(4) wscons devices interpreted as a single ws(4) X device; how to map 1-to-1?

Lucas de Sena <[email protected]> Wed, 22 Jul 2026 19:08:16 -0300
Newsgroups gmane.os.openbsd.misc
Message-ID <amEv3maU6rkeUEjy@sabia>
On 2026-07-22, Lucas de Sena wrote:
> Hi, I use a thinkpad with three pointer devices:
> - wsmouse0: The thinkpad's touchpad.
> - wsmouse1: The thinkpad's trackpoint.
> - wsmouse2: An external USB mouse.
>
> [...]
>
> The X server, however does not recognize all three, it only recognises
> two: a generic /dev/wsmouse that affects both the trackpoint and the USB
> mouse; and /dev/wsmouse0 for the synaptics touchpad only:

So...
I could get a hacky solution for this.

On /var/log/Xorg.0.log, i got this info line (should also be on yours):

> [ 26445.823] (II) The server relies on wscons to provide the list of input devices.
> 	If no devices become available, reconfigure wscons or disable AutoAddDevices

I disabled hotplugging for automatically configuring devices on
xorg.conf(5) (with the "AutoAddDevices" option.  There's also a
command-line flag for it on the X server, but i have no idea where
to put it, maybe in some xenodm(8) configuration file?); and then
i listed each input device manually (even the keyboard(!), otherwise
i could not type) as if i were using XFree86 in the 90s.

Here's my /etc/X11/xorg.conf:

	Section "ServerFlags"
		Option "AutoAddDevices" "off"
	EndSection

	Section "InputDevice"
		Identifier "keyboard"
		Driver "kbd"
	EndSection

	Section "InputDevice"
		Identifier "trackpoint"
		Driver "ws"
		Option "Device" "/dev/wsmouse1"

		# wheel emulation on middle button in both X/Y directions
		Option "EmulateWheel" "True"
		Option "EmulateWheelButton" "2"
		Option "XAxisMapping" "6 7"
		Option "YAxisMapping" "4 5"

		# acceleration (needs more testing/fiddling)
		Option "AccelerationProfile" "6"
		Option "AccelerationNumerator" "5"
		Option "AccelerationDenominator" "1"
		Option "AccelerationThreshold" "3"
		#Option "AdaptiveDeceleration" "2.0"
	EndSection

	Section "InputDevice"
		Identifier "touchpad"
		Driver "synaptics"
		Option "Device" "/dev/wsmouse0"

		Option "TapButton1" "1"
		Option "TapButton2" "2"
		Option "TapButton3" "3"
		Option "AccelFactor" "0"
		Option "HorizTwoFingerScroll" "1"
	EndSection

	Section "InputDevice"
		Identifier "genric-mouse"
		Driver "ws"
		Option "Device" "/dev/wsmouse"
	EndSection

	Section "ServerLayout"
		Identifier "the-layout"
		InputDevice "keyboard" "CoreKeyboard"
		InputDevice "trackpoint" "CorePointer"
		InputDevice "touchpad" "SendCoreEvents"
		InputDevice "genric-mouse" "SendCoreEvents"
	EndSection

As far as i have tried, it did not matter to specify "InputClass"
sections to match a device and configure it.  There would be only a
single X input device for both wsmouse(4) devices anyway.

That's a suboptimal solution: disable hotplugging input devices, and
manually configure them.  But works.

-- 
Lucas de Sena