Commit 39924ac1 for guacamole.apache.org

commit 39924ac120e522bd94fb1e23313a6bd3916ddcf4
Merge: 4577484c 439b4384
Author: Virtually Nick <vnick@apache.org>
Date:   Fri Feb 20 22:31:18 2026 -0500

    Merge patch branch changes to main.

diff --cc src/terminal/terminal.c
index cff86539,2c99b4a2..75267b45
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@@ -1642,22 -1550,12 +1642,27 @@@ static int __guac_terminal_send_key(gua
                  char backspace_str[] = { term->backspace, '\0' };
                  return guac_terminal_send_string(term, backspace_str);
              }
 +
+             if (keysym == 0xFF09 || keysym == 0xFF89) return guac_terminal_send_string(term, "\x09"); /* Tab */
+             if (keysym == 0xFF0A) return guac_terminal_send_string(term, "\x0A");                     /* Line Feed */
+             if (keysym == 0xFF0D || keysym == 0xFF8D) return guac_terminal_send_string(term, "\x0D"); /* Enter */
+             if (keysym == 0xFF1B) return guac_terminal_send_string(term, "\x1B");                     /* Esc */
+
 -            if (keysym == 0xFF50 || keysym == 0xFF95) return guac_terminal_send_string(term, "\x1B[1~"); /* Home */
 +            /* Tab */
 +            if (keysym == GUAC_TERMINAL_KEY_TAB || keysym == GUAC_TERMINAL_KEY_KP_TAB)
 +                return guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_TAB);
 +
 +            /* Enter */
 +            if (keysym == GUAC_TERMINAL_KEY_ENTER || keysym == GUAC_TERMINAL_KEY_KP_ENTER)
 +                return guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_CR);
 +
 +            /* Esc */
 +            if (keysym == GUAC_TERMINAL_KEY_ESCAPE)
 +                return guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_ESCAPE);
 +
 +            /* Home */
 +            if (keysym == GUAC_TERMINAL_KEY_HOME || keysym == GUAC_TERMINAL_KEY_KP_HOME)
 +                return guac_terminal_send_string(term, GUAC_TERMINAL_ESC_SEQ_HOME);

              /* Arrow keys w/ application cursor */
              if (term->application_cursor_keys) {