[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] vnc with german keymap
From: |
Juergen Lock |
Subject: |
[Qemu-devel] vnc with german keymap |
Date: |
Wed, 4 Jul 2007 02:24:05 +0200 |
User-agent: |
Mutt/1.5.16 (2007-06-09) |
Hi!
I got a report yesterday of -vnc not working right with german
keymaps (I hadn't really played with -vnc yet so I hadn't noticed),
and came up with the following hack: (which still needs -k de,
that just wasn't enough)
Index: qemu/vnc.c
@@ -763,7 +763,31 @@
{
int keycode;
+#if 1
+ /* XXX fixup some de keysyms (use with -k de) */
+ if ((sym & 0xffff) == 0xfe03) /* Alt_Gr -> Alt_R */
+ sym = 0xffea;
+ if ((sym & 0xffff) == 0xfe50) /* grave */
+ sym = '`';
+#if 0
+ if ((sym & 0xffff) == 0xfe51) /* '/acute (gets mixed up with #) */
+ sym = '\'';
+#endif
+ if ((sym & 0xffff) == 0xfe52) /* asciicircum */
+ sym = '^';
+ if ((sym & 0xffff) == 0xfe53) /* asciitilde */
+ sym = '~';
+#endif
keycode = keysym2scancode(vs->kbd_layout, sym & 0xFFFF);
+#if 1
+ /* '/acute key needs special treatment */
+ if (!keycode && (sym & 0xffff) == 0xfe51) /* acute */
+ keycode = 0xd;
+#endif
+#ifdef VNCDEBUGKEYS
+ printf("do_key_event down %d, sym 0x%x, keycode 0x%x\n",
+ down, (int) sym, keycode);
+#endif
/* QEMU console switch */
switch(keycode) {
I wasn't able to fix this by editing vnc_keysym.h and/or keymaps
because those dont take duplicate definitions, but this is certainly
`somewhat' ugly; anyone care to fix it for real? :)
Thanx,
Juergen
- [Qemu-devel] vnc with german keymap,
Juergen Lock <=