evdev INPUT_PROP_SEMI_MT devices should be early-detected as touchpads

Some psmouse touchpads were being misdetected as joysticks due to only having
INPUT_PROP_SEMI_MT and INPUT_PROP_POINTER as well as having BTN_1
main
Vicki Pfau 2024-04-09 18:43:01 -07:00 committed by Sam Lantinga
parent 0caa2828d5
commit 19445339b8
2 changed files with 5 additions and 1 deletions

View File

@ -70,7 +70,8 @@ SDL_EVDEV_GuessDeviceClass(const unsigned long bitmask_props[NBITS(INPUT_PROP_MA
/* We treat buttonpads as equivalent to touchpads */
if (test_bit(INPUT_PROP_TOPBUTTONPAD, bitmask_props) ||
test_bit(INPUT_PROP_BUTTONPAD, bitmask_props)) {
test_bit(INPUT_PROP_BUTTONPAD, bitmask_props) ||
test_bit(INPUT_PROP_SEMI_MT, bitmask_props)) {
return SDL_UDEV_DEVICE_TOUCHPAD;
}

View File

@ -28,6 +28,9 @@
#include <linux/input.h>
#ifndef INPUT_PROP_SEMI_MT
#define INPUT_PROP_SEMI_MT 0x03
#endif
#ifndef INPUT_PROP_TOPBUTTONPAD
#define INPUT_PROP_TOPBUTTONPAD 0x04
#endif