- Package:
- qemu-system-x86
- Source:
- qemu
- Description:
- QEMU full system emulation binaries (x86)
- Submitter:
- Antonio
- Date:
- 2017-10-29 16:09:07 UTC
- Severity:
- normal
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
09.10.2017 20:34, Antonio wrote: 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
29.10.2017 18:54, Michael Gold wrote: [] 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
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.