From 7852a6c307ff105b8c50835fd3c0d0f36356fa9c Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 23 Mar 2024 15:49:06 -0700 Subject: [PATCH] Added device name for evdev mice and keyboards --- src/core/linux/SDL_evdev.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/core/linux/SDL_evdev.c b/src/core/linux/SDL_evdev.c index b39630d92..0f464e301 100644 --- a/src/core/linux/SDL_evdev.c +++ b/src/core/linux/SDL_evdev.c @@ -607,7 +607,12 @@ static SDL_Scancode SDL_EVDEV_translate_keycode(int keycode) static int SDL_EVDEV_init_keyboard(SDL_evdevlist_item *item, int udev_class) { - SDL_AddKeyboard((SDL_KeyboardID)item->fd, NULL, SDL_TRUE); + char name[128]; + + name[0] = '\0'; + ioctl(item->fd, EVIOCGNAME(sizeof(name)), name); + + SDL_AddKeyboard((SDL_KeyboardID)item->fd, name, SDL_TRUE); return 0; } @@ -619,10 +624,14 @@ static void SDL_EVDEV_destroy_keyboard(SDL_evdevlist_item *item) static int SDL_EVDEV_init_mouse(SDL_evdevlist_item *item, int udev_class) { + char name[128]; int ret; struct input_absinfo abs_info; - SDL_AddMouse((SDL_MouseID)item->fd, NULL, SDL_TRUE); + name[0] = '\0'; + ioctl(item->fd, EVIOCGNAME(sizeof(name)), name); + + SDL_AddMouse((SDL_MouseID)item->fd, name, SDL_TRUE); ret = ioctl(item->fd, EVIOCGABS(ABS_X), &abs_info); if (ret < 0) {