diff options
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Keyboard.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Keyboard.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c index c6756b1cc..a79052080 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c @@ -649,7 +649,6 @@ XkbError: __func__, nxagentRemoteRules, nxagentRemoteModel, nxagentRemoteLayout, nxagentRemoteVariant, nxagentRemoteOptions); #endif - /* Only setup keycode conversion if we are NOT in clone mode */ if (nxagentKeyboard && (strcmp(nxagentKeyboard, "clone") == 0)) { SAFE_free(rules); rules = strdup(nxagentRemoteRules); @@ -657,7 +656,15 @@ XkbError: SAFE_free(layout); layout = strdup(nxagentRemoteLayout); SAFE_free(variant); variant = strdup(nxagentRemoteVariant); SAFE_free(options); options = strdup(nxagentRemoteOptions); - /* + + /* Only setup keycode conversion if we are NOT in clone mode */ + #ifdef DEBUG + fprintf(stderr, "%s: nxagentKeyboard is [%s] - disabling keycode conversion.\n", __func__, + nxagentKeyboard); + #endif + nxagentChangeOption(KeycodeConversion, KeycodeConversionOff); + + /* * when cloning we do not want X2Go to set the keyboard * via a keyboard file generated by nxagent. The defined * method for switching that off is the creation of a dir @@ -670,7 +677,6 @@ XkbError: } else { - nxagentKeycodeConversionSetup(); /* * Keyboard has always been tricky with nxagent. For that * reason X2Go offers "auto" keyboard configuration. You can @@ -688,6 +694,7 @@ XkbError: nxagentWriteKeyboardFile(nxagentRemoteRules, nxagentRemoteModel, nxagentRemoteLayout, nxagentRemoteVariant, nxagentRemoteOptions); } } + nxagentKeycodeConversionSetup(); } #ifdef DEBUG else |