Re-enable non serverfd input devices immediately on vtenter

Non serverfd input devices will never get a systemd-logind dbus resume signal,
causing them to never get re-enabled.

This commit changes xf86VTEnter() to enable them immediately, fixing this.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=89756
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Hans de Goede 2015-04-08 14:07:52 +02:00 committed by Keith Packard
parent f1da6bf5d9
commit 21e7d2bb5c
1 changed files with 4 additions and 3 deletions

View File

@ -583,10 +583,11 @@ xf86VTEnter(void)
/* Turn screen saver off when switching back */
dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);
/* If we use systemd-logind it will enable input devices for us */
if (!systemd_logind_controls_session())
for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next)
for (pInfo = xf86InputDevs; pInfo; pInfo = pInfo->next) {
/* Devices with server managed fds get enabled on logind resume */
if (!(pInfo->flags & XI86_SERVER_FD))
xf86EnableInputDeviceForVTSwitch(pInfo);
}
for (ih = InputHandlers; ih; ih = ih->next) {
if (ih->is_input)