qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] AltGr and dead keys with VNC


From: Marcel Zumstein
Subject: [Qemu-devel] AltGr and dead keys with VNC
Date: Mon, 3 Nov 2008 10:23:45 +0100

In VNC mode, my AltGr key (mapped to ISO_Level3_Shift) and the dead keys aren't supported. This patch adds XK_ISO_Level3_Shift (keysym 0xfe03) to the keymap. Furthermore, it adds support for the dead keys, which were for some reason present in the keymaps, but not in vnc_keysym.h. This is relevant for VNC viewers that pass dead keys on to the guest system (e.g. tightvnc does) and don't compose the accented letters themselves.
 
diff -ur qemu-0.9.1/keymaps/modifiers qemu-0.9.1-keypatch/keymaps/modifiers
--- qemu-0.9.1/keymaps/modifiers 2008-10-12 13:50:11.000000000 +0200
+++ qemu-0.9.1-keypatch/keymaps/modifiers 2008-10-31 15:30:07.000000000 +0100
@@ -3,6 +3,7 @@

Alt_R 0xb8
Mode_switch 0xb8
+ISO_Level3_Shift 0xb8
Alt_L 0x38

Control_R 0x9d
diff -ur qemu-0.9.1/vnc_keysym.h qemu-0.9.1-keypatch/vnc_keysym.h
--- qemu-0.9.1/vnc_keysym.h 2008-10-29 09:18:52.000000000 +0100
+++ qemu-0.9.1-keypatch/vnc_keysym.h 2008-10-31 15:30:07.000000000 +0100
@@ -204,6 +204,7 @@
{"EuroSign", 0x20ac}, /* XK_EuroSign */

/* modifiers */
+{"ISO_Level3_Shift", 0xfe03}, /* XK_ISO_Level3_Shift */
{"Control_L", 0xffe3}, /* XK_Control_L */
{"Control_R", 0xffe4}, /* XK_Control_R */
{"Alt_L", 0xffe9}, /* XK_Alt_L */

@@ -286,6 +287,27 @@
{"Pause", 0xff13}, /* XK_Pause */
{"Escape", 0xff1b}, /* XK_Escape */

+/* dead keys */
+{"dead_grave", 0xfe50}, /* XK_dead_grave */
+{"dead_acute", 0xfe51}, /* XK_dead_acute */
+{"dead_circumflex", 0xfe52}, /* XK_dead_circumflex */
+{"dead_tilde", 0xfe53}, /* XK_dead_tilde */
+{"dead_macron", 0xfe54}, /* XK_dead_macron */
+{"dead_breve", 0xfe55}, /* XK_dead_breve */
+{"dead_abovedot", 0xfe56}, /* XK_dead_abovedot */
+{"dead_diaeresis", 0xfe57}, /* XK_dead_diaeresis */
+{"dead_abovering", 0xfe58}, /* XK_dead_abovering */
+{"dead_doubleacute", 0xfe59}, /* XK_dead_doubleacute */
+{"dead_caron", 0xfe5a}, /* XK_dead_caron */
+{"dead_cedilla", 0xfe5b}, /* XK_dead_cedilla */
+{"dead_ogonek", 0xfe5c}, /* XK_dead_ogonek */
+{"dead_iota", 0xfe5d}, /* XK_dead_iota */
+{"dead_voiced_sound", 0xfe5e}, /* XK_dead_voiced_sound */
+{"dead_semivoiced_sound", 0xfe5f}, /* XK_dead_semivoiced_sound */
+{"dead_belowdot", 0xfe60}, /* XK_dead_belowdot */
+{"dead_hook", 0xfe61}, /* XK_dead_hook */
+{"dead_horn", 0xfe62}, /* XK_dead_horn */
+
/* localized keys */
{"BackApostrophe", 0xff21},
{"Muhenkan", 0xff22},

reply via email to

[Prev in Thread] Current Thread [Next in Thread]