aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2017-07-22 22:21:05 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2018-12-19 12:37:08 +0100
commit522106e207e7230da5e62fb88f2e47742fdf1b21 (patch)
tree483d3b752d4771ca8b822574aea6f60e62dccc4d /nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
parenta8c65ab6290d9516b733273098db50721e84bcec (diff)
downloadnx-libs-522106e207e7230da5e62fb88f2e47742fdf1b21.tar.gz
nx-libs-522106e207e7230da5e62fb88f2e47742fdf1b21.tar.bz2
nx-libs-522106e207e7230da5e62fb88f2e47742fdf1b21.zip
nxagent: bypass X2go's keyboard configuration hack
If X2go runs in auto keyboard mode it will pass keyboard=null/null to the agent and set the keyboard afterwards with setxkbmap. This patch lets nxagent handle that situation internally (null/null will be interpreted as clone) and disables X2go's mechanism (by creating a dir that effectively blocks it; see x2gosetkeyboard) This is only activated if the agent is run as "x2goagent". Fixes ArcticaProject/nx-libs#368
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Reconnect.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Reconnect.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
index 91445a383..a921df6ca 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
@@ -458,6 +458,16 @@ Bool nxagentReconnectSession(void)
nxagentProcessOptions(nxagentOptionsFilenameOrString);
+ if (nxagentKeyboard && (strcmp(nxagentKeyboard, "null/null") == 0))
+ {
+ #ifdef TEST
+ fprintf(stderr, "nxagentReconnect: changing nxagentKeyboard from [null/null] to [clone].\n");
+ #endif
+
+ free(nxagentKeyboard);
+ nxagentKeyboard = strdup("clone");
+ }
+
if (nxagentReconnectDisplay(reconnectLossyLevel[DISPLAY_STEP]) == 0)
{
failedStep = DISPLAY_STEP;