forked from pool/xorg-x11-server
Egbert Eich
7aff496244
- Backport upstream patches for Xephyr input hot-plugging / single-GPU multi-seat support: * U_kdrive-fix-up-NewInputDeviceRequest-implementation.patch * U_kdrive-set-evdev-driver-for-input-devices-automatica.patch * U_ephyr-don-t-load-ephyr-input-driver-if-seat-option-i.patch * U_kdrive-don-t-let-evdev-driver-overwrite-existing-dev.patch * U_ephyr-ignore-Xorg-multiseat-command-line-options.patch * U_ephyr-enable-option-sw-cursor-by-default-in-multi-se.patch * U_kdrive-introduce-input-hot-plugging-support-for-udev.patch * U_kdrive-add-options-to-set-default-XKB-properties.patch * U_kdrive-evdev-update-keyboard-LEDs-22302.patch * U_config-udev-distinguish-between-real-keyboards-and-o.patch OBS-URL: https://build.opensuse.org/request/show/367497 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=616
76 lines
2.3 KiB
Diff
76 lines
2.3 KiB
Diff
From da69f2f15a9917c3ed04e305061683c41338126e Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?=
|
|
<laerciosousa@sme-mogidascruzes.sp.gov.br>
|
|
Date: Fri, 11 Dec 2015 11:43:14 -0200
|
|
Subject: [PATCH 04/56] ephyr: don't load ephyr input driver if -seat option is
|
|
passed
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
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>
|
|
---
|
|
hw/kdrive/ephyr/ephyrinit.c | 35 ++++++++++++++++++-----------------
|
|
1 file changed, 18 insertions(+), 17 deletions(-)
|
|
|
|
diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
|
|
index 9ddf86e..849a4e1 100644
|
|
--- a/hw/kdrive/ephyr/ephyrinit.c
|
|
+++ b/hw/kdrive/ephyr/ephyrinit.c
|
|
@@ -91,29 +91,30 @@ InitInput(int argc, char **argv)
|
|
KdKeyboardInfo *ki;
|
|
KdPointerInfo *pi;
|
|
|
|
- KdAddKeyboardDriver(&EphyrKeyboardDriver);
|
|
#ifdef KDRIVE_EVDEV
|
|
KdAddKeyboardDriver(&LinuxEvdevKeyboardDriver);
|
|
-#endif
|
|
- KdAddPointerDriver(&EphyrMouseDriver);
|
|
-#ifdef KDRIVE_EVDEV
|
|
KdAddPointerDriver(&LinuxEvdevMouseDriver);
|
|
#endif
|
|
|
|
- if (!kdHasKbd) {
|
|
- ki = KdNewKeyboard();
|
|
- if (!ki)
|
|
- FatalError("Couldn't create Xephyr keyboard\n");
|
|
- ki->driver = &EphyrKeyboardDriver;
|
|
- KdAddKeyboard(ki);
|
|
- }
|
|
+ if (!SeatId) {
|
|
+ KdAddKeyboardDriver(&EphyrKeyboardDriver);
|
|
+ KdAddPointerDriver(&EphyrMouseDriver);
|
|
|
|
- if (!kdHasPointer) {
|
|
- pi = KdNewPointer();
|
|
- if (!pi)
|
|
- FatalError("Couldn't create Xephyr pointer\n");
|
|
- pi->driver = &EphyrMouseDriver;
|
|
- KdAddPointer(pi);
|
|
+ if (!kdHasKbd) {
|
|
+ ki = KdNewKeyboard();
|
|
+ if (!ki)
|
|
+ FatalError("Couldn't create Xephyr keyboard\n");
|
|
+ ki->driver = &EphyrKeyboardDriver;
|
|
+ KdAddKeyboard(ki);
|
|
+ }
|
|
+
|
|
+ if (!kdHasPointer) {
|
|
+ pi = KdNewPointer();
|
|
+ if (!pi)
|
|
+ FatalError("Couldn't create Xephyr pointer\n");
|
|
+ pi->driver = &EphyrMouseDriver;
|
|
+ KdAddPointer(pi);
|
|
+ }
|
|
}
|
|
|
|
KdInitInput();
|
|
--
|
|
2.6.2
|
|
|