There has been a lot of support cases related to mice (and sometimes keyboards) after switching xorg to use evdev by default on FreeBSD 12 and later. Often, the fix for this is to simply change kern.evdev.recpt_mask to a value where evdev is actually used. On system with evdev enabled, such as done for GENERC on amd64 and other architectures, it probably makes sense to have a more friendly default for this sysctl.
Attached patch changes the default value to 12, meaning we let xorg handle the devices without sysmouse or kbdmux or similar. I'd like to commit this, and merge it to FreeBSD 12, in order to improve the out of the box desktop experience.
This change is conditional on EVDEV_SUPPORT, meaning that kernels without evdev will still get the old value.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 30420
Event Timeline
Looks mostly good to me. We should keep EVDEV_RCPT_KBDMUX for powerpc32 and EVDEV_SUPPORT #else branch is not needed.
sys/dev/evdev/evdev.c | ||
---|---|---|
70 | powerpc/conf/GENERIC config uses both #option EVDEV_SUPPORT and #device abd at the same time, so EVDEV_RCPT_KBDMUX should be kept enabled with #ifdef-s at least for old powerpc32 Macs if we still support them. Abd keyboard driver does not support evdev yet. Resetting EVDEV_RCPT_KBDMUX bit in evdev_rcpt_mask will make it silent. | |
71 | There is no need to keep #else branch. Drivers with EVDEV_SUPPORT option compiled out should not access evdev_rcpt_mask variable at all. |
sys/dev/evdev/evdev.c | ||
---|---|---|
71 | I believe I've taken care of your comments, was it this way you meant? |
LGTM (except EVDEV_RCPT_HW_KBD flag in powerpc case)
sys/dev/evdev/evdev.c | ||
---|---|---|
73 | EVDEV_RCPT_HW_KBD should be removed from powerpc case as it will cause double key-press/release reporting on USB keyboards. One-line comment like /* adb keyboard driver does not support evdev yet. */ will be good too. |