Bug#878087: qemu-system-x86: xmodmap + qemu, keyboard settings is ignored
On Mon, Oct 09, 2017 at 21:02:43 +0300, Michael Tokarev wrote: > 09.10.2017 20:34, Antonio wrote: > > Package: qemu-system-x86 > > Version: 1:2.10.0+dfsg-2 > > > > Dear Maintainer, > > > > if you modify some keys with xmodmap (eg: xmodmap -e "keycode 91=Delete" -e > > "keycode 90=Insert" -e "keycode 79=Home" -e "keycode 87=End" -e "keycode > > 81=Prior" -e "keycode 89=Next") > > and then run qemu-system-x86_64, keyboard setting (-k it) is ignored and > > en-us keyboard is set as default. > > > > With previous version 1:2.10.0+dfsg-1 there was no problem. > > It looks like this is a wontfix bug. The "problem" seems to be that > more recent ui frontends (sdl2 which is enabled in -2 compared to > obsolete sdl1 used before, and gtk to be enabled later), keyboard > handling has been reworked, and qemu now always uses raw keycodes, > not preprocessed by modmap and other tools, with guest being able > to see all keyboard keys. You have to use xmodmap INSIDE the guest > to achieve what you want. I've recently been affected by this as well, and don't find the proposed solution practical. It assumes the guest is also using X11 or otherwise allows the desired remapping, but in many guest OSes the ability doesn't exist or is restricted (only allowing for "popular" layouts/tweaks). If the ability is there, but there's no persistent or network-mounted disk, the mapping will need to be redone at every boot, which may be difficult with the "wrong" layout. If I share an image with someone else, they'll need to find some way to reset it to a more familiar layout. The ability to "hide" host settings such that people can use a common OS image is a very useful feature of qemu. I'd like to see it work for the keyboard layout, as it does for other things: network hardware/settings, CPU type/count, etc. Is any workaround for this known? And does the -k option have any effect now? My preference is to have it work as before; but if it will have no effect, it should raise an error or be removed. -- Michael signature.asc Description: PGP signature
Bug#878087: qemu-system-x86: xmodmap + qemu, keyboard settings is ignored
29.10.2017 18:54, Michael Gold wrote: [] > CPU type/count, etc. Is any workaround for this known? And does the -k > option have any effect now? My preference is to have it work as before; > but if it will have no effect, it should raise an error or be removed. For all modern UI types (introduced in upstream qemu in recent years), -k option is ignored because the way qemu now handles key mapping is entirely different, it is like bypass mechanism, and the upstream says it is THE ONLY sane way to handle this, so no workaround is intended. For multiple years they've been telling us users to stop using -k. I for one never used it at all so I've no idea, but each time I tried to reproduce various bugreports with context of keyboard handling, there has always been a solution - removing -k helped. Yes I agree, usage of -k with UI types which does not support it should give a warning (definitely not an error but that's just my opinion). /mjt
Bug#878087: qemu-system-x86: xmodmap + qemu, keyboard settings is ignored
09.10.2017 20:34, Antonio wrote: > Package: qemu-system-x86 > Version: 1:2.10.0+dfsg-2 > > Dear Maintainer, > > if you modify some keys with xmodmap (eg: xmodmap -e "keycode 91=Delete" -e > "keycode 90=Insert" -e "keycode 79=Home" -e "keycode 87=End" -e "keycode > 81=Prior" -e "keycode 89=Next") > and then run qemu-system-x86_64, keyboard setting (-k it) is ignored and > en-us keyboard is set as default. > > With previous version 1:2.10.0+dfsg-1 there was no problem. It looks like this is a wontfix bug. The "problem" seems to be that more recent ui frontends (sdl2 which is enabled in -2 compared to obsolete sdl1 used before, and gtk to be enabled later), keyboard handling has been reworked, and qemu now always uses raw keycodes, not preprocessed by modmap and other tools, with guest being able to see all keyboard keys. You have to use xmodmap INSIDE the guest to achieve what you want. Thanks, /mjt
Bug#878087: qemu-system-x86: xmodmap + qemu, keyboard settings is ignored
Package: qemu-system-x86 Version: 1:2.10.0+dfsg-2 Dear Maintainer, if you modify some keys with xmodmap (eg: xmodmap -e "keycode 91=Delete" -e "keycode 90=Insert" -e "keycode 79=Home" -e "keycode 87=End" -e "keycode 81=Prior" -e "keycode 89=Next") and then run qemu-system-x86_64, keyboard setting (-k it) is ignored and en-us keyboard is set as default. With previous version 1:2.10.0+dfsg-1 there was no problem. Thanks -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (550, 'unstable'), (520, 'testing'), (500, 'stable-updates'), (500, 'stable'), (100, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.13.5-custom (SMP w/8 CPU cores; PREEMPT) Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8), LANGUAGE=it (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages qemu depends on: pn qemu-system pn qemu-user pn qemu-utils qemu recommends no packages. Versions of packages qemu suggests: pn qemu-user-static -- no debconf information