ephyr: don't load ephyr input driver if -seat option is passed

When used for single-GPU multi-seat purposes, there's no need to enable
ephyr virtual input devices, since Xephyr is supposed to handle its own
hardware devices.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Laércio de Sousa <laerciosousa@sme-mogidascruzes.sp.gov.br>
This commit is contained in:
Laércio de Sousa 2015-12-11 11:43:14 -02:00 committed by Adam Jackson
parent 7213e99cbc
commit da69f2f15a

View File

@ -91,29 +91,30 @@ InitInput(int argc, char **argv)
KdKeyboardInfo *ki; KdKeyboardInfo *ki;
KdPointerInfo *pi; KdPointerInfo *pi;
KdAddKeyboardDriver(&EphyrKeyboardDriver);
#ifdef KDRIVE_EVDEV #ifdef KDRIVE_EVDEV
KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver); KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver);
#endif
KdAddPointerDriver(&EphyrMouseDriver);
#ifdef KDRIVE_EVDEV
KdAddPointerDriver(&LinuxEvdevMouseDriver); KdAddPointerDriver(&LinuxEvdevMouseDriver);
#endif #endif
if (!kdHasKbd) { if (!SeatId) {
ki = KdNewKeyboard(); KdAddKeyboardDriver(&EphyrKeyboardDriver);
if (!ki) KdAddPointerDriver(&EphyrMouseDriver);
FatalError("Couldn't create Xephyr keyboard\n");
ki->driver = &EphyrKeyboardDriver;
KdAddKeyboard(ki);
}
if (!kdHasPointer) { if (!kdHasKbd) {
pi = KdNewPointer(); ki = KdNewKeyboard();
if (!pi) if (!ki)
FatalError("Couldn't create Xephyr pointer\n"); FatalError("Couldn't create Xephyr keyboard\n");
pi->driver = &EphyrMouseDriver; ki->driver = &EphyrKeyboardDriver;
KdAddPointer(pi); KdAddKeyboard(ki);
}
if (!kdHasPointer) {
pi = KdNewPointer();
if (!pi)
FatalError("Couldn't create Xephyr pointer\n");
pi->driver = &EphyrMouseDriver;
KdAddPointer(pi);
}
} }
KdInitInput(); KdInitInput();