You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@guacamole.apache.org by vn...@apache.org on 2026/08/06 18:50:02 UTC
(guacamole-server) branch main updated (0e55d414 -> 8a4fbe65)
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/guacamole-server.git
from 0e55d414 Merge changes from patch branch back to main.
add c220d9dd GUACAMOLE-2313: Handle macOS Option keypresses in RDP as equivalent to AltGr.
add dd2038a7 GUACAMOLE-2313: Translate Command/Option keys in VNC connections to general VNC keysym conventions.
add 738ebcf8 GUACAMOLE-2313: Synchronize VNC lock key state when supported.
add 4bdca4c7 GUACAMOLE-2313: Do not scroll the terminal to the bottom for modifier keys.
add 863ac868 GUACAMOLE-2313: Merge disambiguate handling of lock modifiers and Mac-specific keys.
add 325a6dfe Merge 1.6.1 changes to patch branch.
new 8a4fbe65 Merge patch branch changes to main.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
src/protocols/rdp/keyboard.c | 8 ++-
src/protocols/rdp/keymap.h | 11 ++++
src/protocols/rdp/keymaps/base.keymap | 13 +++--
src/protocols/rdp/keymaps/base_altgr.keymap | 2 +
src/protocols/vnc/input.c | 88 ++++++++++++++++++++++++++++-
src/protocols/vnc/input.h | 17 ++++++
src/protocols/vnc/vnc.c | 4 ++
src/protocols/vnc/vnc.h | 7 +++
src/terminal/terminal.c | 72 +++++++++++++++++------
9 files changed, 196 insertions(+), 26 deletions(-)
(guacamole-server) 01/01: Merge patch branch changes to main.
Posted by vn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/guacamole-server.git
commit 8a4fbe65a00016bd2469b0153179c9d21398b8a0
Merge: 0e55d414 325a6dfe
Author: Virtually Nick <vn...@apache.org>
AuthorDate: Thu Aug 6 14:49:37 2026 -0400
Merge patch branch changes to main.
src/protocols/rdp/keyboard.c | 8 ++-
src/protocols/rdp/keymap.h | 11 ++++
src/protocols/rdp/keymaps/base.keymap | 13 +++--
src/protocols/rdp/keymaps/base_altgr.keymap | 2 +
src/protocols/vnc/input.c | 88 ++++++++++++++++++++++++++++-
src/protocols/vnc/input.h | 17 ++++++
src/protocols/vnc/vnc.c | 4 ++
src/protocols/vnc/vnc.h | 7 +++
src/terminal/terminal.c | 72 +++++++++++++++++------
9 files changed, 196 insertions(+), 26 deletions(-)
diff --cc src/terminal/terminal.c
index 8aef2e23,3628e4f5..acaf4e42
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@@ -1889,27 -1898,25 +1922,30 @@@ static int __guac_terminal_send_key(gua
return 0;
}
+ /* Up */
+ if (keysym == GUAC_TERMINAL_KEY_UP || keysym == GUAC_TERMINAL_KEY_KP_UP) {
+ guac_terminal_scroll_display_up(term, 1);
+ return 0;
+ }
+
+ /* Down */
+ if (keysym == GUAC_TERMINAL_KEY_DOWN || keysym == GUAC_TERMINAL_KEY_KP_DOWN) {
+ guac_terminal_scroll_display_down(term, 1);
+ return 0;
+ }
+
}
- /* Reset scroll */
- if (term->scroll_offset != 0)
+ /* Reset scroll, unless the pressed key produces no output (ie: is purely
+ * a modifier or lock key) */
+ if (term->scroll_offset != 0 && !__guac_terminal_is_modifier_keysym(keysym)
+ && !__guac_terminal_is_lock_keysym(keysym)) {
guac_terminal_scroll_display_down(term, term->scroll_offset);
+ }
- /*
- * Modified arrows, function keys, and cursor editing keys encode Alt
- * and Meta directly in CSI (below). For all other keys, Alt/Meta are
- * represented by prefixing ESC.
- */
- if ((term->mod_alt || term->mod_meta)
- && !__guac_terminal_is_arrow_keysym(keysym)
- && !__guac_terminal_is_function_keysym(keysym)
- && !__guac_terminal_is_editing_keysym(keysym))
- guac_terminal_send_string(term, "\x1B");
+ /* If alt being held, also send escape character */
+ if (term->mod_alt)
+ guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_ESCAPE);
/* Translate Ctrl+letter to control code */
if (term->mod_ctrl) {