Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Jun 2020 03:23:53 +0000
From:      bugzilla-noreply@freebsd.org
To:        virtualization@FreeBSD.org
Subject:   [Bug 246121] [bhyve][PATCH] Append Keyboard Layout specified option for using VNC.
Message-ID:  <bug-246121-27103-0ATV0GkbMa@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-246121-27103@https.bugs.freebsd.org/bugzilla/>
References:  <bug-246121-27103@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D246121

--- Comment #12 from Koine Yuusuke <koinec@yahoo.co.jp> ---
(In reply to Peter Grehan from comment #11)

Thank you for responding.

I think it is unnecessary to add a translation table from scanset2 to scans=
et
1.
In the patch suggested this time, the translation process from scanset 2 to
scanset 1 is bypassed in the atkbd emulation only when the QEMU Extended Key
Event Message is received.
(Therefore, an argument that specifies whether scanset conversion is perfor=
med
is added to the fifo_get() function and fifo_put() function arguments.)

There are two reasons for doing this.
 1) It is written that a simple 1:1 translation is possible from scanset2 to
scanset 1, but I understand the following exceptions.
     Scanset 2      Scanset 1
   -----------------------------
     0x02/0x83  ->  0x41
     0x7f/0x84  ->  0x54
   There is no problem when tranlating from scanset 2 to scanset 1 as int t=
he
atkbd emulation, but when performing reverse tranlation, it is the recognit=
ion
that 0x41/0x54 of scanset 1 cannot determine which value of scanset 2 is se=
t.
   (However, as far as I know, this is only the F7 key(0x83->0x41), so it m=
ay
not be a problem ...)

 2) In bhyve's code, translating from scanset 1 to scanset 2 in ps2kbd.c, a=
nd
then translating from scanset 2 to scanset 1 in atkbd.c again immediately, =
it
is=20
considered redundant even if the effect on performance is slight I will.

In the future, if we decide to make the atkbd emulation(atkbdc.c) and PS2
virtual keyboard driver(ps2kbd.c) completely independent, I'm aware that th=
ere
is a problem because the method suggested this time will not be able to make
them independent.
However, in the current implementation, the function of the PS2 virtual
keyboard driver is directly called from the atkbd emulation, so I couldn't
understand the future course.

If necessary, I can stop the bypass process and add the translation process
from scanset 1 to scanset 2.
I apologize for the inconvenience, but please would like to know the
correspondence policy.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-246121-27103-0ATV0GkbMa>