When we call Xephyr with '-pointer' a new pointer is added inside the server
and the Xephyr virtual mouse keeps alive. With this patch the semantic changes turning '-pointer' && 'Xephyr virtual mouse' always false. Now we can open a device pointer and pass its options in Xephyr's command line without having other pointer unused.
This commit is contained in:
parent
aa3c6aaaab
commit
955d5f6c0d
|
@ -30,6 +30,8 @@
|
||||||
|
|
||||||
extern Window EphyrPreExistingHostWin;
|
extern Window EphyrPreExistingHostWin;
|
||||||
extern Bool EphyrWantGrayScale;
|
extern Bool EphyrWantGrayScale;
|
||||||
|
extern Bool kdHasPointer;
|
||||||
|
extern Bool kdHasKbd;
|
||||||
|
|
||||||
void
|
void
|
||||||
InitCard (char *name)
|
InitCard (char *name)
|
||||||
|
@ -54,19 +56,24 @@ InitInput (int argc, char **argv)
|
||||||
KdKeyboardInfo *ki;
|
KdKeyboardInfo *ki;
|
||||||
KdPointerInfo *pi;
|
KdPointerInfo *pi;
|
||||||
|
|
||||||
ki = KdNewKeyboard();
|
|
||||||
if (!ki)
|
|
||||||
FatalError("Couldn't create Xephyr keyboard\n");
|
|
||||||
ki->driver = &EphyrKeyboardDriver;
|
|
||||||
KdAddKeyboardDriver(&EphyrKeyboardDriver);
|
KdAddKeyboardDriver(&EphyrKeyboardDriver);
|
||||||
KdAddKeyboard(ki);
|
|
||||||
|
|
||||||
pi = KdNewPointer();
|
|
||||||
if (!pi)
|
|
||||||
FatalError("Couldn't create Xephyr pointer\n");
|
|
||||||
pi->driver = &EphyrMouseDriver;
|
|
||||||
KdAddPointerDriver(&EphyrMouseDriver);
|
KdAddPointerDriver(&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();
|
KdInitInput();
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,8 @@ int kdVirtualTerminal = -1;
|
||||||
Bool kdSwitchPending;
|
Bool kdSwitchPending;
|
||||||
char *kdSwitchCmd;
|
char *kdSwitchCmd;
|
||||||
DDXPointRec kdOrigin;
|
DDXPointRec kdOrigin;
|
||||||
|
Bool kdHasPointer = FALSE;
|
||||||
|
Bool kdHasKbd = FALSE;
|
||||||
|
|
||||||
static Bool kdCaughtSignal = FALSE;
|
static Bool kdCaughtSignal = FALSE;
|
||||||
|
|
||||||
|
@ -737,12 +739,14 @@ KdProcessArgument (int argc, char **argv, int i)
|
||||||
if (i + 1 >= argc)
|
if (i + 1 >= argc)
|
||||||
UseMsg();
|
UseMsg();
|
||||||
KdAddConfigPointer(argv[i + 1]);
|
KdAddConfigPointer(argv[i + 1]);
|
||||||
|
kdHasPointer = TRUE;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
if (!strcmp (argv[i], "-keybd")) {
|
if (!strcmp (argv[i], "-keybd")) {
|
||||||
if (i + 1 >= argc)
|
if (i + 1 >= argc)
|
||||||
UseMsg();
|
UseMsg();
|
||||||
KdAddConfigKeyboard(argv[i + 1]);
|
KdAddConfigKeyboard(argv[i + 1]);
|
||||||
|
kdHasKbd = TRUE;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue