Package: qemu Version: 0.9.0+20070816-1 Severity: important Tags: patch In DOS: -Caps lock events are doubled (so, no efect for caps lock) -Extended keyboard events are doubled: double up, double down
In vnc mode: -Alt Gr is not well captured -ntilde does not work A patch is attached to solve this problems. It also integrate a new system to add extra keys without modifying the code (again) Regards. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.20-1-686 (SMP w/2 CPU cores) Locale: LANG=es_ES.UTF-8, LC_CTYPE=es_ES.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages qemu depends on: ii bochsbios 2.3+20070705-2 BIOS for the Bochs emulator ii libasound2 1.0.14a-2 ALSA library ii libc6 2.6.1-2 GNU C Library: Shared libraries ii libncurses5 5.6+20070825-1 Shared libraries for terminal hand ii libsdl1.2debian 1.2.11-9 Simple DirectMedia Layer ii openbios-sparc 1.0~alpha2+20070816-1 SPARC Open Firmware ii openhackware 0.4.1-2 OpenFirmware emulator for PowerPC ii proll 18-2 JavaStation PROM 2.x compatible re ii vgabios 0.6a-2 VGA BIOS software for the Bochs an ii zlib1g 1:1.2.3.3.dfsg-5 compression library - runtime Versions of packages qemu recommends: ii debootstrap 1.0.3 Bootstrap a basic Debian system ii sharutils 1:4.6.3-1 shar, unshar, uuencode, uudecode pn vde2 <none> (no description available) -- no debconf information
? backup-082720072326-pre-qemu.tgz ? description-pak ? doc-pak ? qemu_20070827-1_i386.deb Index: keymaps.c =================================================================== RCS file: /sources/qemu/qemu/keymaps.c,v retrieving revision 1.2 diff -u -r1.2 keymaps.c --- keymaps.c 30 Apr 2006 21:28:35 -0000 1.2 +++ keymaps.c 28 Aug 2007 04:08:17 -0000 @@ -24,7 +24,14 @@ static int get_keysym(const char *name) { + unsigned int keysym; name2keysym_t *p; + + //User numerical added keysyms + if (1==sscanf(name,"0x%x",&keysym)) + return keysym; + + //Normal ones for(p = name2keysym; p->name != NULL; p++) { if (!strcmp(p->name, name)) return p->keysym; Index: sdl.c =================================================================== RCS file: /sources/qemu/qemu/sdl.c,v retrieving revision 1.42 diff -u -r1.42 sdl.c --- sdl.c 21 Jun 2007 21:08:02 -0000 1.42 +++ sdl.c 28 Aug 2007 04:09:19 -0000 @@ -201,9 +201,9 @@ break; case 0x45: /* num lock */ case 0x3a: /* caps lock */ - /* SDL does not send the key up event, so we generate it */ - kbd_put_keycode(keycode); - kbd_put_keycode(keycode | 0x80); + if (ev->type == SDL_KEYUP) + kbd_put_keycode(keycode | 0x80); + else kbd_put_keycode(keycode); return; } Index: vnc_keysym.h =================================================================== RCS file: /sources/qemu/qemu/vnc_keysym.h,v retrieving revision 1.2 diff -u -r1.2 vnc_keysym.h --- vnc_keysym.h 7 Jan 2007 17:12:41 -0000 1.2 +++ vnc_keysym.h 28 Aug 2007 04:10:12 -0000 @@ -215,6 +215,7 @@ {"Shift_R", 0xffe2}, /* XK_Shift_R */ {"Super_L", 0xffeb}, /* XK_Super_L */ {"Super_R", 0xffec}, /* XK_Super_R */ +{"ISO_Level3_Shift", 0xfe03}, /* ISO_Level3 /* special keys */ {"BackSpace", 0xff08}, /* XK_BackSpace */ Index: hw/ps2.c =================================================================== RCS file: /sources/qemu/qemu/hw/ps2.c,v retrieving revision 1.6 diff -u -r1.6 ps2.c --- hw/ps2.c 20 Mar 2007 16:45:27 -0000 1.6 +++ hw/ps2.c 28 Aug 2007 04:12:48 -0000 @@ -146,17 +146,24 @@ PS2State *s = (PS2State *)opaque; PS2Queue *q; int val, index; + static int flag=0; q = &s->queue; if (q->count == 0) { + if (!flag){ + index=q->rptr - 1; + flag=1; + } + else index=q->rptr - 2; /* NOTE: if no data left, we return the last keyboard one (needed for EMM386) */ /* XXX: need a timer to do things correctly */ - index = q->rptr - 1; if (index < 0) - index = PS2_QUEUE_SIZE - 1; + index += PS2_QUEUE_SIZE; + val = q->data[index]; } else { + flag=0; val = q->data[q->rptr]; if (++q->rptr == PS2_QUEUE_SIZE) q->rptr = 0; Index: keymaps/es =================================================================== RCS file: /sources/qemu/qemu/keymaps/es,v retrieving revision 1.1 diff -u -r1.1 es --- keymaps/es 12 Dec 2004 16:56:30 -0000 1.1 +++ keymaps/es 28 Aug 2007 04:13:57 -0000 @@ -71,6 +71,8 @@ Lstroke 0x26 shift altgr ntilde 0x27 Ntilde 0x27 shift +0xfff1 0x27 +0xffd1 0x27 shift dead_doubleacute 0x27 shift altgr dead_acute 0x28 dead_diaeresis 0x28 shift Index: keymaps/modifiers =================================================================== RCS file: /sources/qemu/qemu/keymaps/modifiers,v retrieving revision 1.2 diff -u -r1.2 modifiers --- keymaps/modifiers 1 Mar 2005 21:43:42 -0000 1.2 +++ keymaps/modifiers 28 Aug 2007 04:13:59 -0000 @@ -3,6 +3,7 @@ Alt_R 0xb8 Mode_switch 0xb8 +ISO_Level3_Shift 0xb8 Alt_L 0x38 Control_R 0x9d