[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] AltGr and dead keys with VNC
From: |
Guido Günther |
Subject: |
Re: [Qemu-devel] AltGr and dead keys with VNC |
Date: |
Thu, 27 Nov 2008 17:37:35 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Mon, Nov 03, 2008 at 10:23:45AM +0100, Marcel Zumstein wrote:
> 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.
This fixes AltGr with GtkVNC here too. Is there any special reason for
not mapping ISO_Level3_Shift?
Cheers,
-- Guido
>
> 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},