Commit 1d47c33b for guacamole.apache.org

commit 1d47c33b5f9f89117e9c32609cf75438f2770b16
Merge: 9f536b9d cf812f40
Author: Corentin SORIANO <csoriano@apache.org>
Date:   Thu Mar 26 11:29:56 2026 +0100

    Merge changes from patch branch back to main.

diff --cc src/terminal/terminal.c
index 75267b45,d726c75f..b431d09c
--- a/src/terminal/terminal.c
+++ b/src/terminal/terminal.c
@@@ -1642,27 -1582,12 +1674,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 == 0xFF0A) return guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_CR);                     /* Line Feed -> CR */
+             if (keysym == 0xFF0D || keysym == 0xFF8D) return guac_terminal_send_string(term, GUAC_TERMINAL_ASCII_CR); /* 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) {