Implemented VT switching for KMSDRM on Linux

Fixes https://github.com/libsdl-org/SDL/issues/3844
This commit is contained in:
Sam Lantinga 2023-11-08 10:33:40 -08:00
parent 391a3d23d0
commit f4b61fff30
8 changed files with 252 additions and 31 deletions

View file

@ -288,6 +288,14 @@ static void SDL_EVDEV_udev_callback(SDL_UDEV_deviceevent udev_event, int udev_cl
}
#endif /* SDL_USE_LIBUDEV */
void SDL_EVDEV_SetVTSwitchCallbacks(void (*release_callback)(void*), void *release_callback_data,
void (*acquire_callback)(void*), void *acquire_callback_data)
{
SDL_EVDEV_kbd_set_vt_switch_callbacks(_this->kbd,
release_callback, release_callback_data,
acquire_callback, acquire_callback_data);
}
int SDL_EVDEV_GetDeviceCount(int device_class)
{
SDL_evdevlist_item *item;
@ -319,6 +327,8 @@ void SDL_EVDEV_Poll(void)
SDL_UDEV_Poll();
#endif
SDL_EVDEV_kbd_update(_this->kbd);
mouse = SDL_GetMouse();
for (item = _this->first; item != NULL; item = item->next) {