patch 8.2.1027: GUI: multi-byte characters do not work in a terminal

Problem:    GUI: multi-byte characters do not work in a terminal.
Solution:   Do not assume a key is one byte. (closes #6304)
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index b2770ca..40de666 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -1215,7 +1215,10 @@
     if (len == -3)
 	key = TO_SPECIAL(string[1], string[2]);
     else
-	key = string[0];
+    {
+	string[len] = NUL;
+	key = mb_ptr2char(string);
+    }
 
     // Handle modifiers.
     modifiers = modifiers_gdk2vim(state);
@@ -1240,8 +1243,7 @@
 	// May remove the shift modifier if it's included in the key.
 	modifiers = may_remove_shift_modifier(modifiers, key);
 
-	string[0] = key;
-	len = 1;
+	len = mb_char2bytes(key, string);
     }
 
     if (modifiers != 0)