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 Bool EphyrWantGrayScale;
|
||||
extern Bool kdHasPointer;
|
||||
extern Bool kdHasKbd;
|
||||
|
||||
void
|
||||
InitCard (char *name)
|
||||
|
@ -54,19 +56,24 @@ InitInput (int argc, char **argv)
|
|||
KdKeyboardInfo *ki;
|
||||
KdPointerInfo *pi;
|
||||
|
||||
ki = KdNewKeyboard();
|
||||
if (!ki)
|
||||
FatalError("Couldn't create Xephyr keyboard\n");
|
||||
ki->driver = &EphyrKeyboardDriver;
|
||||
KdAddKeyboardDriver(&EphyrKeyboardDriver);
|
||||
KdAddKeyboard(ki);
|
||||
|
||||
pi = KdNewPointer();
|
||||
if (!pi)
|
||||
FatalError("Couldn't create Xephyr pointer\n");
|
||||
pi->driver = &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();
|
||||
}
|
||||
|
|
|
@ -81,6 +81,8 @@ int kdVirtualTerminal = -1;
|
|||
Bool kdSwitchPending;
|
||||
char *kdSwitchCmd;
|
||||
DDXPointRec kdOrigin;
|
||||
Bool kdHasPointer = FALSE;
|
||||
Bool kdHasKbd = FALSE;
|
||||
|
||||
static Bool kdCaughtSignal = FALSE;
|
||||
|
||||
|
@ -737,12 +739,14 @@ KdProcessArgument (int argc, char **argv, int i)
|
|||
if (i + 1 >= argc)
|
||||
UseMsg();
|
||||
KdAddConfigPointer(argv[i + 1]);
|
||||
kdHasPointer = TRUE;
|
||||
return 2;
|
||||
}
|
||||
if (!strcmp (argv[i], "-keybd")) {
|
||||
if (i + 1 >= argc)
|
||||
UseMsg();
|
||||
KdAddConfigKeyboard(argv[i + 1]);
|
||||
kdHasKbd = TRUE;
|
||||
return 2;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user