diff mbox

[2/2] kbd: add brazil kbd keys to x11 evdev map

Message ID 1432648685-17925-2-git-send-email-kraxel@redhat.com
State New
Headers show

Commit Message

Gerd Hoffmann May 26, 2015, 1:58 p.m. UTC
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(-)

Comments

Joao Luis Meloni Assirati May 27, 2015, 9:27 a.m. UTC | #1
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.
Markus Armbruster May 27, 2015, 11:19 a.m. UTC | #2
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?
Daniel P. Berrangé May 27, 2015, 11:35 a.m. UTC | #3
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
Daniel P. Berrangé May 27, 2015, 11:40 a.m. UTC | #4
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
Gerd Hoffmann May 27, 2015, 2:32 p.m. UTC | #5
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
Gerd Hoffmann May 27, 2015, 2:39 p.m. UTC | #6
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
Gerd Hoffmann May 27, 2015, 2:42 p.m. UTC | #7
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
Joao Luis Meloni Assirati May 27, 2015, 7:04 p.m. UTC | #8
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.
Gerd Hoffmann May 28, 2015, 6:24 a.m. UTC | #9
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
Daniel P. Berrangé May 28, 2015, 8:52 a.m. UTC | #10
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
diff mbox

Patch

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)*/