https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244110
Bug ID: 244110
Summary: x11-drivers/xf86-input-vmmouse InputClass not matching
when VMWare is used
Product: Ports & Packages
Version: Latest
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: Individual Port(s)
Assignee: [email protected]
Reporter: [email protected]
Assignee: [email protected]
Flags: maintainer-feedback?([email protected])
When using AutoAddDevices (currently the default behavior), X11 is not able to
correctly match the input class of the vmware mouse in a virtual machine. X11
therefore defaults to using the normal 'mouse' driver instead of 'vmmouse'.
This is true no matter if moused is used or not.
Both 'moused_nondefault_enable' and 'moused_enable' are set to "NO" in
/etc/rc.conf:
```
sysrc moused_nondefault_enable moused_enable
moused_nondefault_enable: NO
moused_enable: NO
```
Currently in `/usr/local/share/X11/xorg.conf.d/50-vmmouse.conf` (as installed
by x11-drivers/xf86-input-vmmouse)
```
Section "InputClass"
Identifier "vmmouse"
MatchIsPointer "on"
MatchTag "vmmouse"
Driver "vmmouse"
EndSection
```
Xorg.0.log shows that X11 is falling back to using the default "mouse' driver
for both /dev/sysmouse and /dev/psm0.
```
[ 9.160] (II) config/devd: adding input device (null) (/dev/sysmouse)
[ 9.160] (II) LoadModule: "mouse"
[ 9.160] (II) Loading /usr/local/lib/xorg/modules/input/mouse_drv.so
[ 9.161] (II) Module mouse: vendor="X.Org Foundation"
[ 9.161] compiled for 1.18.4, module version = 1.9.3
[ 9.161] Module class: X.Org XInput Driver
[ 9.161] ABI class: X.Org XInput driver, version 22.1
[ 9.161] (II) Using input driver 'mouse' for 'sysmouse'
[ 9.161] (**) sysmouse: always reports core events
[ 9.161] (**) Option "Device" "/dev/sysmouse"
[ 9.161] (==) sysmouse: Protocol: "Auto"
[ 9.161] (**) sysmouse: always reports core events
[ 9.161] (==) sysmouse: Emulate3Buttons, Emulate3Timeout: 50
[ 9.161] (**) sysmouse: ZAxisMapping: buttons 4 and 5
[ 9.161] (**) sysmouse: Buttons: 5
[ 9.161] (**) Option "config_info" "devd:sysmouse"
[ 9.161] (II) XINPUT: Adding extended input device "sysmouse" (type: MOUSE,
id 7)
[ 9.161] (**) sysmouse: (accel) keeping acceleration scheme 1
[ 9.161] (**) sysmouse: (accel) acceleration profile 0
[ 9.161] (**) sysmouse: (accel) acceleration factor: 2.000
[ 9.161] (**) sysmouse: (accel) acceleration threshold: 4
[ 9.161] (II) sysmouse: SetupAuto: hw.iftype is 4, hw.model is 0
[ 9.161] (II) sysmouse: SetupAuto: protocol is SysMouse
[ 9.194] (II) config/devd: adding input device Mouse (/dev/psm0)
[ 9.194] (II) Using input driver 'mouse' for 'Mouse'
[ 9.194] (**) Mouse: always reports core events
[ 9.194] (**) Option "Device" "/dev/psm0"
[ 9.194] (==) Mouse: Protocol: "Auto"
[ 9.194] (**) Mouse: always reports core events
[ 9.227] (==) Mouse: Emulate3Buttons, Emulate3Timeout: 50
[ 9.227] (**) Mouse: ZAxisMapping: buttons 4 and 5
[ 9.227] (**) Mouse: Buttons: 5
[ 9.227] (**) Option "config_info" "devd:psm0"
[ 9.227] (II) XINPUT: Adding extended input device "Mouse" (type: MOUSE, id
8)
[ 9.227] (**) Mouse: (accel) keeping acceleration scheme 1
[ 9.227] (**) Mouse: (accel) acceleration profile 0
[ 9.227] (**) Mouse: (accel) acceleration factor: 2.000
[ 9.227] (**) Mouse: (accel) acceleration threshold: 4
[ 9.233] (II) Mouse: SetupAuto: hw.iftype is 3, hw.model is 4
[ 9.233] (II) Mouse: SetupAuto: protocol is IMPS/2
[ 9.519] (II) Mouse: ps2EnableDataReporting: succeeded
```
Output of xinput
```
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ sysmouse id=7 [slave pointer (2)]
⎜ ↳ Mouse id=8 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ kbdmux id=6 [slave keyboard (3)]
xinput list-props 7
Device 'sysmouse':
Device Enabled (116): 1
Coordinate Transformation Matrix (117): 1.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (230): 0
Device Accel Constant Deceleration (231): 1.000000
Device Accel Adaptive Deceleration (232): 1.000000
Device Accel Velocity Scaling (233): 10.000000
Device Node (234): "/dev/sysmouse"
Button Labels (235): "Button Left" (119), "Button Middle" (120),
"Button Right" (121), "Button Wheel Up" (122), "Button Wheel Down" (123)
Mouse Middle Button Emulation (236): 1
Mouse Middle Button Timeout (237): 50
xinput list-props 8
Device 'Mouse':
Device Enabled (116): 1
Coordinate Transformation Matrix (117): 1.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (230): 0
Device Accel Constant Deceleration (231): 1.000000
Device Accel Adaptive Deceleration (232): 1.000000
Device Accel Velocity Scaling (233): 10.000000
Device Node (234): "/dev/psm0"
Button Labels (235): "Button Left" (119), "Button Middle" (120),
"Button Right" (121), "Button Wheel Up" (122), "Button Wheel Down" (123)
Mouse Middle Button Emulation (236): 1
Mouse Middle Button Timeout (237): 50
```
My guess is that for some reason in FreeBSD it's unable to make the match based
on the tag. (I don't know how to get the tag to confirm). By changing
`/usr/local/share/X11/xorg.conf.d/50-vmmouse.conf` to match on the device node
instead, the correct driver is loaded:
```
Section "InputClass"
Identifier "vmmouse"
MatchIsPointer "on"
MatchDevicePath "/dev/psm0"
Driver "vmmouse"
EndSection
```
```
[ 9.407] (II) config/devd: adding input device (null) (/dev/sysmouse)
[ 9.407] (**) sysmouse: Applying InputClass "vmmouse"
[ 9.407] (II) LoadModule: "vmmouse"
[ 9.407] (II) Loading /usr/local/lib/xorg/modules/input/vmmouse_drv.so
[ 9.408] (II) Module vmmouse: vendor="X.Org Foundation"
[ 9.408] compiled for 1.18.4, module version = 13.1.0
[ 9.408] Module class: X.Org XInput Driver
[ 9.408] ABI class: X.Org XInput driver, version 22.1
[ 9.408] (II) VMWARE(0): VMMOUSE module was loaded
[ 9.408] (II) Using input driver 'vmmouse' for 'sysmouse'
[ 9.408] (**) sysmouse: always reports core events
[ 9.408] (II) VMWARE(0): vmmouse is available
[ 9.408] (**) Option "Device" "/dev/sysmouse"
[ 9.408] (**) sysmouse: ZAxisMapping: buttons 4 and 5
[ 9.408] (**) Option "config_info" "devd:sysmouse"
[ 9.408] (II) XINPUT: Adding extended input device "sysmouse" (type: MOUSE,
id 7)
[ 9.408] (II) VMWARE(0): VMMOUSE DEVICE_INIT
[ 9.408] (**) sysmouse: (accel) keeping acceleration scheme 1
[ 9.408] (**) sysmouse: (accel) acceleration profile 0
[ 9.408] (**) sysmouse: (accel) acceleration factor: 2.000
[ 9.408] (**) sysmouse: (accel) acceleration threshold: 4
[ 9.408] (II) VMWARE(0): VMMOUSE DEVICE_ON
[ 9.408] (II) VMWARE(0): vmmouse enabled
[ 9.441] (II) config/devd: adding input device Mouse (/dev/psm0)
[ 9.441] (**) Mouse: Applying InputClass "vmmouse2"
[ 9.441] (II) Using input driver 'vmmouse' for 'Mouse'
[ 9.441] (**) Mouse: always reports core events
[ 9.441] (II) VMWARE(0): vmmouse is available
[ 9.441] (**) Option "Device" "/dev/psm0"
[ 9.475] (**) Mouse: ZAxisMapping: buttons 4 and 5
[ 9.475] (**) Option "config_info" "devd:psm0"
[ 9.475] (II) XINPUT: Adding extended input device "Mouse" (type: MOUSE, id
8)
[ 9.475] (II) VMWARE(0): VMMOUSE DEVICE_INIT
[ 9.475] (**) Mouse: (accel) keeping acceleration scheme 1
[ 9.475] (**) Mouse: (accel) acceleration profile 0
[ 9.475] (**) Mouse: (accel) acceleration factor: 2.000
[ 9.475] (**) Mouse: (accel) acceleration threshold: 4
[ 9.475] (II) VMWARE(0): VMMOUSE DEVICE_ON
[ 9.481] (II) VMWARE(0): vmmouse enabled
(II) VMWARE(0): vmmouse enable absolute mode
(II) VMWARE(0): re-requesting absolute mode after reset
```
Or in the case of when you are using moused (sysrc
moused_nondefault_enable="YES" moused_enable="YES"), it needs to match on
`/dev/sysmouse`:
```
Section "InputClass"
Identifier "vmmouse"
MatchIsPointer "on"
MatchDevicePath "/dev/sysmouse"
Driver "vmmouse"
EndSection
```
Even though it 'fixes' the problem, I'm not sure if the correct way is by
changing the InputClass match, that's beyond my current know-how.
--
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-x11
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.