Xdmx: fix input driver initialization code paths
Problem: Xdmx exit with error "(Fatal Error) dmx: Unknown input argument: " if local input driver is specified (example: -input local,usb-kbd,usb-mou). Cause: code block for remote input drivers is placed in code path common for all drivers. Fix: affected code block moved to remote input driver code path part. Signed-off-by: Raimonds Cicans <ray@apollo.lv> Reviewed-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
cbf09619f2
commit
b75835a435
|
@ -970,41 +970,6 @@ dmxInputInit(DMXInputInfo * dmxInput)
|
||||||
|
|
||||||
a = dmxArgParse(dmxInput->name);
|
a = dmxArgParse(dmxInput->name);
|
||||||
|
|
||||||
for (i = 1; i < dmxArgC(a); i++) {
|
|
||||||
switch (hasXkb) {
|
|
||||||
case 1:
|
|
||||||
dmxInput->keycodes = xstrdup(dmxArgV(a, i));
|
|
||||||
++hasXkb;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
dmxInput->symbols = xstrdup(dmxArgV(a, i));
|
|
||||||
++hasXkb;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
dmxInput->geometry = xstrdup(dmxArgV(a, i));
|
|
||||||
hasXkb = 0;
|
|
||||||
break;
|
|
||||||
case 0:
|
|
||||||
if (!strcmp(dmxArgV(a, i), "noxi"))
|
|
||||||
doXI = 0;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "xi"))
|
|
||||||
doXI = 1;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "console"))
|
|
||||||
forceConsole = 1;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "noconsole"))
|
|
||||||
forceConsole = 0;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "windows"))
|
|
||||||
doWindows = 1;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "nowindows"))
|
|
||||||
doWindows = 0;
|
|
||||||
else if (!strcmp(dmxArgV(a, i), "xkb"))
|
|
||||||
hasXkb = 1;
|
|
||||||
else {
|
|
||||||
dmxLog(dmxFatal, "Unknown input argument: %s\n", dmxArgV(a, i));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
name = dmxArgV(a, 0);
|
name = dmxArgV(a, 0);
|
||||||
|
|
||||||
if (!strcmp(name, "local")) {
|
if (!strcmp(name, "local")) {
|
||||||
|
@ -1016,6 +981,41 @@ dmxInputInit(DMXInputInfo * dmxInput)
|
||||||
dmxLogInput(dmxInput, "Using dummy input\n");
|
dmxLogInput(dmxInput, "Using dummy input\n");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
for (i = 1; i < dmxArgC(a); i++) {
|
||||||
|
switch (hasXkb) {
|
||||||
|
case 1:
|
||||||
|
dmxInput->keycodes = xstrdup(dmxArgV(a, i));
|
||||||
|
++hasXkb;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
dmxInput->symbols = xstrdup(dmxArgV(a, i));
|
||||||
|
++hasXkb;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
dmxInput->geometry = xstrdup(dmxArgV(a, i));
|
||||||
|
hasXkb = 0;
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
if (!strcmp(dmxArgV(a, i), "noxi"))
|
||||||
|
doXI = 0;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "xi"))
|
||||||
|
doXI = 1;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "console"))
|
||||||
|
forceConsole = 1;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "noconsole"))
|
||||||
|
forceConsole = 0;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "windows"))
|
||||||
|
doWindows = 1;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "nowindows"))
|
||||||
|
doWindows = 0;
|
||||||
|
else if (!strcmp(dmxArgV(a, i), "xkb"))
|
||||||
|
hasXkb = 1;
|
||||||
|
else {
|
||||||
|
dmxLog(dmxFatal, "Unknown input argument: %s\n", dmxArgV(a, i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int found;
|
int found;
|
||||||
|
|
||||||
for (found = 0, i = 0; i < dmxNumScreens; i++) {
|
for (found = 0, i = 0; i < dmxNumScreens; i++) {
|
||||||
|
|
Loading…
Reference in New Issue