SDL: Added device name for evdev mice and keyboards

From 7852a6c307ff105b8c50835fd3c0d0f36356fa9c Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
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 b39630d9262fc..0f464e301f715 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) {