diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2017-07-22 22:21:05 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2018-12-19 12:37:08 +0100 |
commit | 522106e207e7230da5e62fb88f2e47742fdf1b21 (patch) | |
tree | 483d3b752d4771ca8b822574aea6f60e62dccc4d /nx-X11/programs/Xserver/hw/nxagent/Reconnect.c | |
parent | a8c65ab6290d9516b733273098db50721e84bcec (diff) | |
download | nx-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.c | 10 |
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; |