mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-21 20:28:28 +00:00
linux: Distinguish between "device with keys" and a full keyboard
udev distinguishes between ID_INPUT_KEY, a device with any keyboard keys at all (including for example USB numeric keypads, Bluetooth headsets with volume control buttons, and some game controllers; and ID_INPUT_KEYBOARD, a reasonably fully-featured keyboard that you could use for general-purpose text entry. If we do the same here, then it's useful input to our heuristics for identifying devices: for example, a device with ID_INPUT_KEY could reasonably be a gamepad, but a device with ID_INPUT_KEYBOARD certainly isn't. Resolves: https://github.com/libsdl-org/SDL/issues/7827 Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
parent
9b7a9ca666
commit
fa0ca3d41e
5 changed files with 36 additions and 31 deletions
|
@ -245,7 +245,7 @@ static void SDL_EVDEV_udev_callback(SDL_UDEV_deviceevent udev_event, int udev_cl
|
|||
|
||||
switch (udev_event) {
|
||||
case SDL_UDEV_DEVICEADDED:
|
||||
if (!(udev_class & (SDL_UDEV_DEVICE_MOUSE | SDL_UDEV_DEVICE_KEYBOARD | SDL_UDEV_DEVICE_TOUCHSCREEN | SDL_UDEV_DEVICE_TOUCHPAD))) {
|
||||
if (!(udev_class & (SDL_UDEV_DEVICE_MOUSE | SDL_UDEV_DEVICE_HAS_KEYS | SDL_UDEV_DEVICE_TOUCHSCREEN | SDL_UDEV_DEVICE_TOUCHPAD))) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue