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) {