From 1de6ca599f6f410308c7fe2ddd700197f66662fd Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sat, 22 Jul 2017 19:03:19 +0200 Subject: nxagent: add keyboard=clone configuration option Specifying -keyboard clone (or keyboard=clone in options) will clone XKB keyboard from the remote x server. This way many keyboard problems will hopefully never return... Should be the default but is not (yet) for compatibility reasons. Fixes ArcticaProject/nx-libs#373 (except the "do autoconf if no keyboard is provided" feature.) References: ArcticaProject/nx-libs#240 ArcticaProject/nx-libs#368 --- nx-X11/programs/Xserver/hw/nxagent/Reconnect.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Reconnect.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c index 4b1ae03f9..a61b42530 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c @@ -598,7 +598,8 @@ Bool nxagentReconnectSession(void) if (nxagentOption(ResetKeyboardAtResume) == 1 && (nxagentKeyboard == NULL || nxagentOldKeyboard == NULL || strcmp(nxagentKeyboard, nxagentOldKeyboard) != 0 || - strcmp(nxagentKeyboard, "query") == 0)) + strcmp(nxagentKeyboard, "query") == 0 || + strcmp(nxagentKeyboard, "clone") == 0)) { if (nxagentResetKeyboard() == 0) { -- cgit v1.2.3 From 1d6c241d3c0b10db19476b3f018cc24f2024fa30 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Mon, 3 Dec 2018 21:54:15 +0100 Subject: nxagent: store remote keyboard in global variables This avoids some roundtrips. --- nx-X11/programs/Xserver/hw/nxagent/Reconnect.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Reconnect.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c index a61b42530..bd4fccdce 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c @@ -584,6 +584,9 @@ Bool nxagentReconnectSession(void) goto nxagentReconnectError; } + /* Update remote XKB information */ + nxagentGetRemoteXkbExtension(); + /* if there's no keyboard definition in the options file restore the previous value. */ #ifdef DEBUG -- cgit v1.2.3 From d5c9733b24a55acb812a4cb11f39551c766c17d7 Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Mon, 3 Dec 2018 22:03:58 +0100 Subject: nxagent: simplify keycode conversion setup --- nx-X11/programs/Xserver/hw/nxagent/Reconnect.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Reconnect.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c index bd4fccdce..91445a383 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c @@ -620,7 +620,7 @@ Bool nxagentReconnectSession(void) } else { - nxagentResetKeycodeConversion(); + nxagentKeycodeConversionSetup(); } nxagentXkbState.Initialized = 0; -- cgit v1.2.3