Bug#878087: qemu-system-x86: xmodmap + qemu, keyboard settings is ignored

2017-10-29 Thread Michael Gold
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

2017-10-29 Thread Michael Tokarev
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

2017-10-09 Thread Michael Tokarev
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

2017-10-09 Thread Antonio
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