* [Qemu-devel] [PATCH 1/2] kbd: add brazil kbd keys to qemu
@ 2015-05-26 13:58 Gerd Hoffmann
2015-05-26 13:58 ` [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map Gerd Hoffmann
0 siblings, 1 reply; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-26 13:58 UTC (permalink / raw)
To: qemu-devel
Cc: Joao Luis Meloni Assirati, Michael Tokarev, Markus Armbruster,
772422, Gerd Hoffmann, gtk-vnc-list
The brazilian computer keyboard layout has two extra keys (compared to
the usual 105-key intl ps/2 keyboard). This patch makes these two keys
known to qemu.
For historic reasons qemu has two ways to specify a key: A QKeyCode
(name-based) or a number (ps/2 scancode based). Therefore we have to
update multiple places to make new keys known to qemu:
(1) The QKeyCode definition in qapi-schema.json
(2) The QKeyCode <-> number mapping table in ui/input-keymap.c
This patch does just that. With this patch applied you can send those
two keys to the guest using the send-key monitor command.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
qapi-schema.json | 4 +++-
ui/input-keymap.c | 4 ++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index f97ffa1..25df463 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2784,6 +2784,7 @@
# Since: 1.3.0
#
# 'unmapped' and 'pause' since 2.0
+# 'ro' and 'kp_comma' since 2.4
##
{ 'enum': 'QKeyCode',
'data': [ 'unmapped',
@@ -2801,7 +2802,8 @@
'kp_9', 'less', 'f11', 'f12', 'print', 'home', 'pgup', 'pgdn', 'end',
'left', 'up', 'down', 'right', 'insert', 'delete', 'stop', 'again',
'props', 'undo', 'front', 'copy', 'open', 'paste', 'find', 'cut',
- 'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause' ] }
+ 'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause', 'ro',
+ 'kp_comma' ] }
##
# @KeyValue
diff --git a/ui/input-keymap.c b/ui/input-keymap.c
index 5d29935..2e09177 100644
--- a/ui/input-keymap.c
+++ b/ui/input-keymap.c
@@ -128,6 +128,10 @@ static const int qcode_to_number[] = {
[Q_KEY_CODE_INSERT] = 0xd2,
[Q_KEY_CODE_DELETE] = 0xd3,
+
+ [Q_KEY_CODE_RO] = 0x73,
+ [Q_KEY_CODE_KP_COMMA] = 0xf0,
+
[Q_KEY_CODE_MAX] = 0,
};
--
1.8.3.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-26 13:58 [Qemu-devel] [PATCH 1/2] kbd: add brazil kbd keys to qemu Gerd Hoffmann
@ 2015-05-26 13:58 ` Gerd Hoffmann
2015-05-27 9:27 ` Joao Luis Meloni Assirati
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-26 13:58 UTC (permalink / raw)
To: qemu-devel
Cc: 772422, Joao Luis Meloni Assirati, Michael Tokarev, Gerd Hoffmann,
gtk-vnc-list
This patch adds the two extra brazilian keys to the evdev keymap for
X11. This patch gets the two keys going with the gtk and sdl1 UIs.
With vnc (remote-viewer) only one of the two works correctly.
Probably a client-side issue. Not investigated in detail though.
The SDL2 library complains it doesn't know these keys, so the SDL2
library must be fixed before we can update ui/sdl2-keymap.h
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
ui/x_keymap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/ui/x_keymap.c b/ui/x_keymap.c
index b9b0944..4e899b4 100644
--- a/ui/x_keymap.c
+++ b/ui/x_keymap.c
@@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
*/
static const uint8_t evdev_keycode_to_pc_keycode[61] = {
- 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
+ 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
0, /* 98 EVDEV - KATA (Katakana) */
0, /* 99 EVDEV - HIRA (Hiragana) */
0x79, /* 100 EVDEV - HENK (Henkan) */
@@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
0, /* 127 EVDEV - PAUS */
0, /* 128 EVDEV - ???? */
- 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
+ 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
0x7d, /* 132 AE13 (Yen)*/
--
1.8.3.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-26 13:58 ` [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map Gerd Hoffmann
@ 2015-05-27 9:27 ` Joao Luis Meloni Assirati
2015-05-27 14:32 ` Gerd Hoffmann
2015-05-27 11:19 ` Markus Armbruster
2015-05-27 11:40 ` Daniel P. Berrange
2 siblings, 1 reply; 12+ messages in thread
From: Joao Luis Meloni Assirati @ 2015-05-27 9:27 UTC (permalink / raw)
To: Gerd Hoffmann, qemu-devel; +Cc: 772422, Michael Tokarev, gtk-vnc-list
On 26-05-2015 10:58, Gerd Hoffmann wrote:
> This patch adds the two extra brazilian keys to the evdev keymap for
> X11. This patch gets the two keys going with the gtk and sdl1 UIs.
>
> With vnc (remote-viewer) only one of the two works correctly.
> Probably a client-side issue. Not investigated in detail though.
>
> The SDL2 library complains it doesn't know these keys, so the SDL2
> library must be fixed before we can update ui/sdl2-keymap.h
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> ui/x_keymap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/ui/x_keymap.c b/ui/x_keymap.c
> index b9b0944..4e899b4 100644
> --- a/ui/x_keymap.c
> +++ b/ui/x_keymap.c
> @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
> */
>
> static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> 0, /* 98 EVDEV - KATA (Katakana) */
> 0, /* 99 EVDEV - HIRA (Hiragana) */
> 0x79, /* 100 EVDEV - HENK (Henkan) */
> @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> 0, /* 127 EVDEV - PAUS */
> 0, /* 128 EVDEV - ???? */
> - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> 0x7d, /* 132 AE13 (Yen)*/
With this patch, the / key now works. Unfortunately, the numpad period
does not work. Note that /usr/share/qemu/keymaps/pt-br lists 0x34 for
KP_Decimal (this is the code my patch was using), instead of 0xf0.
Thanks,
João Luis.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 9:27 ` Joao Luis Meloni Assirati
@ 2015-05-27 14:32 ` Gerd Hoffmann
2015-05-27 19:04 ` Joao Luis Meloni Assirati
0 siblings, 1 reply; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-27 14:32 UTC (permalink / raw)
To: Joao Luis Meloni Assirati
Cc: 772422, Michael Tokarev, qemu-devel, gtk-vnc-list
On Mi, 2015-05-27 at 06:27 -0300, Joao Luis Meloni Assirati wrote:
> On 26-05-2015 10:58, Gerd Hoffmann wrote:
> > This patch adds the two extra brazilian keys to the evdev keymap for
> > X11. This patch gets the two keys going with the gtk and sdl1 UIs.
> >
> > With vnc (remote-viewer) only one of the two works correctly.
> > Probably a client-side issue. Not investigated in detail though.
> >
> > The SDL2 library complains it doesn't know these keys, so the SDL2
> > library must be fixed before we can update ui/sdl2-keymap.h
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> > ui/x_keymap.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/ui/x_keymap.c b/ui/x_keymap.c
> > index b9b0944..4e899b4 100644
> > --- a/ui/x_keymap.c
> > +++ b/ui/x_keymap.c
> > @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
> > */
> >
> > static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > 0, /* 98 EVDEV - KATA (Katakana) */
> > 0, /* 99 EVDEV - HIRA (Hiragana) */
> > 0x79, /* 100 EVDEV - HENK (Henkan) */
> > @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> > 0, /* 127 EVDEV - PAUS */
> > 0, /* 128 EVDEV - ???? */
> > - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> > 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> > 0x7d, /* 132 AE13 (Yen)*/
>
> With this patch, the / key now works.
> Unfortunately, the numpad period
> does not work. Note that /usr/share/qemu/keymaps/pt-br lists 0x34 for
> KP_Decimal (this is the code my patch was using), instead of 0xf0.
Which ui is this? vnc?
What happens if you change KP_Decimal to 0xf0 in the pt-br keymap?
cheers,
Gerd
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 14:32 ` Gerd Hoffmann
@ 2015-05-27 19:04 ` Joao Luis Meloni Assirati
0 siblings, 0 replies; 12+ messages in thread
From: Joao Luis Meloni Assirati @ 2015-05-27 19:04 UTC (permalink / raw)
To: Gerd Hoffmann; +Cc: 772422, Michael Tokarev, qemu-devel, gtk-vnc-list
On 27-05-2015 11:32, Gerd Hoffmann wrote:
> On Mi, 2015-05-27 at 06:27 -0300, Joao Luis Meloni Assirati wrote:
>> On 26-05-2015 10:58, Gerd Hoffmann wrote:
>>> This patch adds the two extra brazilian keys to the evdev keymap for
>>> X11. This patch gets the two keys going with the gtk and sdl1 UIs.
>>>
>>> With vnc (remote-viewer) only one of the two works correctly.
>>> Probably a client-side issue. Not investigated in detail though.
>>>
>>> The SDL2 library complains it doesn't know these keys, so the SDL2
>>> library must be fixed before we can update ui/sdl2-keymap.h
>>>
>>> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>>> ---
>>> ui/x_keymap.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/ui/x_keymap.c b/ui/x_keymap.c
>>> index b9b0944..4e899b4 100644
>>> --- a/ui/x_keymap.c
>>> +++ b/ui/x_keymap.c
>>> @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
>>> */
>>>
>>> static const uint8_t evdev_keycode_to_pc_keycode[61] = {
>>> - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
>>> + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
>>> 0, /* 98 EVDEV - KATA (Katakana) */
>>> 0, /* 99 EVDEV - HIRA (Hiragana) */
>>> 0x79, /* 100 EVDEV - HENK (Henkan) */
>>> @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
>>> 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
>>> 0, /* 127 EVDEV - PAUS */
>>> 0, /* 128 EVDEV - ???? */
>>> - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
>>> + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
>>> 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
>>> 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
>>> 0x7d, /* 132 AE13 (Yen)*/
>> With this patch, the / key now works.
>
>> Unfortunately, the numpad period
>> does not work. Note that /usr/share/qemu/keymaps/pt-br lists 0x34 for
>> KP_Decimal (this is the code my patch was using), instead of 0xf0.
> Which ui is this? vnc?
No, it is the SDL ui.
>
> What happens if you change KP_Decimal to 0xf0 in the pt-br keymap?
It makes no difference. And it should make no difference, as I am not
using the -k switch.
João Luis.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-26 13:58 ` [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map Gerd Hoffmann
2015-05-27 9:27 ` Joao Luis Meloni Assirati
@ 2015-05-27 11:19 ` Markus Armbruster
2015-05-27 11:35 ` Daniel P. Berrange
2015-05-27 14:39 ` Gerd Hoffmann
2015-05-27 11:40 ` Daniel P. Berrange
2 siblings, 2 replies; 12+ messages in thread
From: Markus Armbruster @ 2015-05-27 11:19 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
Gerd Hoffmann <kraxel@redhat.com> writes:
> This patch adds the two extra brazilian keys to the evdev keymap for
> X11. This patch gets the two keys going with the gtk and sdl1 UIs.
>
> With vnc (remote-viewer) only one of the two works correctly.
> Probably a client-side issue. Not investigated in detail though.
>
> The SDL2 library complains it doesn't know these keys, so the SDL2
> library must be fixed before we can update ui/sdl2-keymap.h
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
> ui/x_keymap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/ui/x_keymap.c b/ui/x_keymap.c
> index b9b0944..4e899b4 100644
> --- a/ui/x_keymap.c
> +++ b/ui/x_keymap.c
> @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
> */
>
> static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> 0, /* 98 EVDEV - KATA (Katakana) */
> 0, /* 99 EVDEV - HIRA (Hiragana) */
> 0x79, /* 100 EVDEV - HENK (Henkan) */
> @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> 0, /* 127 EVDEV - PAUS */
> 0, /* 128 EVDEV - ???? */
> - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> 0x7d, /* 132 AE13 (Yen)*/
The two patches together associate
name number evdev
ro 0x73 97
kp_comma 0xf0 129
If I understand things correctly, we can freely choose number (we choose
it to match PS/2 scancodes, however), but evdev is externally defined.
Correct?
My /usr/share/X11/xkb/keycodes/evdev has
// Keys that are generated on Japanese keyboards
<AB11> = 97; // backslash/underscore
//<RO> = 97; // Romaji
and
// Extended keys that may be generated on "Internet" keyboards.
// evdev has standardize names for these.
<I129> = 129; // #define KEY_KPCOMMA 121
I guess this is where you got the name 'ro'. Okay.
I'm pretty ignorant about evdev, so please excuse if my questions are
stupid:
1. Can you explain why you picked <RO> over <AB11>?
2. Should the comment in your second hunk be changed from
EVDEV - I129 ("Internet" Keyboards)
to something mentioning KPCOMMA?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 11:19 ` Markus Armbruster
@ 2015-05-27 11:35 ` Daniel P. Berrange
2015-05-27 14:39 ` Gerd Hoffmann
1 sibling, 0 replies; 12+ messages in thread
From: Daniel P. Berrange @ 2015-05-27 11:35 UTC (permalink / raw)
To: Markus Armbruster
Cc: Joao Luis Meloni Assirati, Michael Tokarev, qemu-devel, 772422,
Gerd Hoffmann, gtk-vnc-list
On Wed, May 27, 2015 at 01:19:06PM +0200, Markus Armbruster wrote:
> Gerd Hoffmann <kraxel@redhat.com> writes:
>
> > This patch adds the two extra brazilian keys to the evdev keymap for
> > X11. This patch gets the two keys going with the gtk and sdl1 UIs.
> >
> > With vnc (remote-viewer) only one of the two works correctly.
> > Probably a client-side issue. Not investigated in detail though.
> >
> > The SDL2 library complains it doesn't know these keys, so the SDL2
> > library must be fixed before we can update ui/sdl2-keymap.h
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> > ui/x_keymap.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/ui/x_keymap.c b/ui/x_keymap.c
> > index b9b0944..4e899b4 100644
> > --- a/ui/x_keymap.c
> > +++ b/ui/x_keymap.c
> > @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
> > */
> >
> > static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > 0, /* 98 EVDEV - KATA (Katakana) */
> > 0, /* 99 EVDEV - HIRA (Hiragana) */
> > 0x79, /* 100 EVDEV - HENK (Henkan) */
> > @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> > 0, /* 127 EVDEV - PAUS */
> > 0, /* 128 EVDEV - ???? */
> > - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> > 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> > 0x7d, /* 132 AE13 (Yen)*/
>
> The two patches together associate
>
> name number evdev
> ro 0x73 97
> kp_comma 0xf0 129
>
> If I understand things correctly, we can freely choose number (we choose
> it to match PS/2 scancodes, however), but evdev is externally defined.
> Correct?
>
> My /usr/share/X11/xkb/keycodes/evdev has
>
> // Keys that are generated on Japanese keyboards
> <AB11> = 97; // backslash/underscore
> //<RO> = 97; // Romaji
>
> and
>
> // Extended keys that may be generated on "Internet" keyboards.
> // evdev has standardize names for these.
> <I129> = 129; // #define KEY_KPCOMMA 121
>
> I guess this is where you got the name 'ro'. Okay.
>
> I'm pretty ignorant about evdev, so please excuse if my questions are
> stupid:
>
> 1. Can you explain why you picked <RO> over <AB11>?
/usr/include/linux/input.h calls it KEY_RO - not sure why
X11 would use AB11 for that keycode instead, but I figure
it is better for use to use the Linux names here.
>
> 2. Should the comment in your second hunk be changed from
>
> EVDEV - I129 ("Internet" Keyboards)
>
> to something mentioning KPCOMMA?
Yeah, I think it would make sense.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 11:19 ` Markus Armbruster
2015-05-27 11:35 ` Daniel P. Berrange
@ 2015-05-27 14:39 ` Gerd Hoffmann
1 sibling, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-27 14:39 UTC (permalink / raw)
To: Markus Armbruster
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
On Mi, 2015-05-27 at 13:19 +0200, Markus Armbruster wrote:
> Gerd Hoffmann <kraxel@redhat.com> writes:
>
> > This patch adds the two extra brazilian keys to the evdev keymap for
> > X11. This patch gets the two keys going with the gtk and sdl1 UIs.
> >
> > With vnc (remote-viewer) only one of the two works correctly.
> > Probably a client-side issue. Not investigated in detail though.
> >
> > The SDL2 library complains it doesn't know these keys, so the SDL2
> > library must be fixed before we can update ui/sdl2-keymap.h
> >
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> > ui/x_keymap.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/ui/x_keymap.c b/ui/x_keymap.c
> > index b9b0944..4e899b4 100644
> > --- a/ui/x_keymap.c
> > +++ b/ui/x_keymap.c
> > @@ -94,7 +94,7 @@ static const uint8_t x_keycode_to_pc_keycode[115] = {
> > */
> >
> > static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> > 0, /* 98 EVDEV - KATA (Katakana) */
> > 0, /* 99 EVDEV - HIRA (Hiragana) */
> > 0x79, /* 100 EVDEV - HENK (Henkan) */
> > @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> > 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> > 0, /* 127 EVDEV - PAUS */
> > 0, /* 128 EVDEV - ???? */
> > - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> > 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> > 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> > 0x7d, /* 132 AE13 (Yen)*/
>
> The two patches together associate
>
> name number evdev
> ro 0x73 97
> kp_comma 0xf0 129
>
> If I understand things correctly, we can freely choose number (we choose
> it to match PS/2 scancodes, however), but evdev is externally defined.
> Correct?
Almost. The ps/2 keyboard implementation (and probably others too)
assumes "number" are actually ps/2 scancodes. But, yes, in theory we
could change this.
>
> My /usr/share/X11/xkb/keycodes/evdev has
>
> // Keys that are generated on Japanese keyboards
> <AB11> = 97; // backslash/underscore
> //<RO> = 97; // Romaji
>
> and
>
> // Extended keys that may be generated on "Internet" keyboards.
> // evdev has standardize names for these.
> <I129> = 129; // #define KEY_KPCOMMA 121
>
> I guess this is where you got the name 'ro'. Okay.
/usr/include/linux/input.h names this "KEY_RO' too.
> 2. Should the comment in your second hunk be changed from
>
> EVDEV - I129 ("Internet" Keyboards)
>
> to something mentioning KPCOMMA?
Makes sense indeed.
cheers,
Gerd
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-26 13:58 ` [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map Gerd Hoffmann
2015-05-27 9:27 ` Joao Luis Meloni Assirati
2015-05-27 11:19 ` Markus Armbruster
@ 2015-05-27 11:40 ` Daniel P. Berrange
2015-05-27 14:42 ` Gerd Hoffmann
2015-05-28 6:24 ` Gerd Hoffmann
2 siblings, 2 replies; 12+ messages in thread
From: Daniel P. Berrange @ 2015-05-27 11:40 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
On Tue, May 26, 2015 at 03:58:05PM +0200, Gerd Hoffmann wrote:
> This patch adds the two extra brazilian keys to the evdev keymap for
> X11. This patch gets the two keys going with the gtk and sdl1 UIs.
>
> With vnc (remote-viewer) only one of the two works correctly.
> Probably a client-side issue. Not investigated in detail though.
The gtk-vnc keymaps.csv file has entries for both these key codes.
For EVDEV_RO it maps to XT KBD code 115 (0x73 in decimal) which matches
your patch.
For EVDEV_KPCOMMA it maps to XT KBD code 126 (0x7e in decimal) which
does not match your patch. I'm not sure where I got that mapping
from originally - probably from the Linux kernel's XT <-> evdev
keymapping tables.
So presumably you were finding the KPCOMMA one was broken in
remote-viewer ? It'll be broken in SPICE too, since that shares
the same keymaps.csv file
> static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> - 0, /* 97 EVDEV - RO ("Internet" Keyboards) */
> + 0x73, /* 97 EVDEV - RO ("Internet" Keyboards) */
> 0, /* 98 EVDEV - KATA (Katakana) */
> 0, /* 99 EVDEV - HIRA (Hiragana) */
> 0x79, /* 100 EVDEV - HENK (Henkan) */
> @@ -126,7 +126,7 @@ static const uint8_t evdev_keycode_to_pc_keycode[61] = {
> 0, /* 126 EVDEV - I126 ("Internet" Keyboards) */
> 0, /* 127 EVDEV - PAUS */
> 0, /* 128 EVDEV - ???? */
> - 0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> + 0xf0, /* 129 EVDEV - I129 ("Internet" Keyboards) */
> 0xf1, /* 130 EVDEV - HNGL (Korean Hangul Latin toggle) */
> 0xf2, /* 131 EVDEV - HJCV (Korean Hangul Hanja toggle) */
> 0x7d, /* 132 AE13 (Yen)*/
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 11:40 ` Daniel P. Berrange
@ 2015-05-27 14:42 ` Gerd Hoffmann
2015-05-28 6:24 ` Gerd Hoffmann
1 sibling, 0 replies; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-27 14:42 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
Hi,
> For EVDEV_KPCOMMA it maps to XT KBD code 126 (0x7e in decimal) which
> does not match your patch. I'm not sure where I got that mapping
> from originally - probably from the Linux kernel's XT <-> evdev
> keymapping tables.
>
> So presumably you were finding the KPCOMMA one was broken in
> remote-viewer ?
Yes.
FYI: https://www.kraxel.org/cgit/input/ recently got a 'emulate-key'
utility which sends key events via uinput. This allows to test this
kind of stuff without actually having a physical brazilian keyboard.
cheers,
Gerd
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-27 11:40 ` Daniel P. Berrange
2015-05-27 14:42 ` Gerd Hoffmann
@ 2015-05-28 6:24 ` Gerd Hoffmann
2015-05-28 8:52 ` Daniel P. Berrange
1 sibling, 1 reply; 12+ messages in thread
From: Gerd Hoffmann @ 2015-05-28 6:24 UTC (permalink / raw)
To: Daniel P. Berrange
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
Hi,
> For EVDEV_KPCOMMA it maps to XT KBD code 126 (0x7e in decimal) which
> does not match your patch. I'm not sure where I got that mapping
> from originally - probably from the Linux kernel's XT <-> evdev
> keymapping tables.
Did some more testing, 0x7e seems to be the correct one. Everything is
consistent with that one: vnc client, input_event_key_* trace event,
input-events reporting within the guest. So no change needed in
gtk-vnc, I'll update the qemu patch.
cheers,
Gerd
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map
2015-05-28 6:24 ` Gerd Hoffmann
@ 2015-05-28 8:52 ` Daniel P. Berrange
0 siblings, 0 replies; 12+ messages in thread
From: Daniel P. Berrange @ 2015-05-28 8:52 UTC (permalink / raw)
To: Gerd Hoffmann
Cc: Michael Tokarev, gtk-vnc-list, 772422, qemu-devel,
Joao Luis Meloni Assirati
On Thu, May 28, 2015 at 08:24:04AM +0200, Gerd Hoffmann wrote:
> Hi,
>
> > For EVDEV_KPCOMMA it maps to XT KBD code 126 (0x7e in decimal) which
> > does not match your patch. I'm not sure where I got that mapping
> > from originally - probably from the Linux kernel's XT <-> evdev
> > keymapping tables.
>
> Did some more testing, 0x7e seems to be the correct one. Everything is
> consistent with that one: vnc client, input_event_key_* trace event,
> input-events reporting within the guest. So no change needed in
> gtk-vnc, I'll update the qemu patch.
Ah excellant, thanks for letting me know.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-05-28 8:52 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-26 13:58 [Qemu-devel] [PATCH 1/2] kbd: add brazil kbd keys to qemu Gerd Hoffmann
2015-05-26 13:58 ` [Qemu-devel] [PATCH 2/2] kbd: add brazil kbd keys to x11 evdev map Gerd Hoffmann
2015-05-27 9:27 ` Joao Luis Meloni Assirati
2015-05-27 14:32 ` Gerd Hoffmann
2015-05-27 19:04 ` Joao Luis Meloni Assirati
2015-05-27 11:19 ` Markus Armbruster
2015-05-27 11:35 ` Daniel P. Berrange
2015-05-27 14:39 ` Gerd Hoffmann
2015-05-27 11:40 ` Daniel P. Berrange
2015-05-27 14:42 ` Gerd Hoffmann
2015-05-28 6:24 ` Gerd Hoffmann
2015-05-28 8:52 ` Daniel P. Berrange
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).