qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
@ 2016-12-23 13:00 OGAWA Hirofumi
  2016-12-23 20:58 ` Hervé Poussineau
  2016-12-23 21:58 ` [Qemu-devel] [PATCH] " Eric Blake
  0 siblings, 2 replies; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-23 13:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Hervé Poussineau, Gerd Hoffmann


With "ps2: use QEMU qcodes instead of scancodes", key handling was
changed to qcode base. But all scancodes are not converted to new one.

This adds some missing qcodes what I found in using.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 hw/input/ps2.c    |    3 +++
 qapi-schema.json  |    3 ++-
 ui/input-keymap.c |    3 +++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff -puN hw/input/ps2.c~fix-ps2-scancode hw/input/ps2.c
--- qemu/hw/input/ps2.c~fix-ps2-scancode	2016-12-23 21:14:59.837729450 +0900
+++ qemu-hirofumi/hw/input/ps2.c	2016-12-23 21:14:59.840729469 +0900
@@ -394,6 +394,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_LESS] = 0x61,
     [Q_KEY_CODE_SYSRQ] = 0x7f,
     [Q_KEY_CODE_RO] = 0x51,
+    [Q_KEY_CODE_HIRAGANA] = 0x13,
+    [Q_KEY_CODE_HENKAN] = 0x64,
+    [Q_KEY_CODE_YEN] = 0x6a,
     [Q_KEY_CODE_KP_COMMA] = 0x6d,
 };
 
diff -puN qapi-schema.json~fix-ps2-scancode qapi-schema.json
--- qemu/qapi-schema.json~fix-ps2-scancode	2016-12-23 21:14:59.838729456 +0900
+++ qemu-hirofumi/qapi-schema.json	2016-12-23 21:14:59.840729469 +0900
@@ -3642,7 +3642,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', 'ro',
+            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
+            'ro', 'hiragana', 'henkan', 'yen',
             'kp_comma', 'kp_equals', 'power' ] }
 
 ##
diff -puN ui/input-keymap.c~fix-ps2-scancode ui/input-keymap.c
--- qemu/ui/input-keymap.c~fix-ps2-scancode	2016-12-23 21:14:59.839729463 +0900
+++ qemu-hirofumi/ui/input-keymap.c	2016-12-23 21:14:59.840729469 +0900
@@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
     [Q_KEY_CODE_DELETE] = 0xd3,
 
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 
     [Q_KEY_CODE__MAX] = 0,
_

-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-23 13:00 [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes OGAWA Hirofumi
@ 2016-12-23 20:58 ` Hervé Poussineau
  2016-12-23 22:49   ` OGAWA Hirofumi
  2016-12-23 21:58 ` [Qemu-devel] [PATCH] " Eric Blake
  1 sibling, 1 reply; 15+ messages in thread
From: Hervé Poussineau @ 2016-12-23 20:58 UTC (permalink / raw)
  To: OGAWA Hirofumi, qemu-devel; +Cc: Gerd Hoffmann

Le 23/12/2016 à 14:00, OGAWA Hirofumi a écrit :
>
> With "ps2: use QEMU qcodes instead of scancodes", key handling was
> changed to qcode base. But all scancodes are not converted to new one.
>
> This adds some missing qcodes what I found in using.
>
> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
> ---
>
>  hw/input/ps2.c    |    3 +++
>  qapi-schema.json  |    3 ++-
>  ui/input-keymap.c |    3 +++
>  3 files changed, 8 insertions(+), 1 deletion(-)
>
> diff -puN hw/input/ps2.c~fix-ps2-scancode hw/input/ps2.c
> --- qemu/hw/input/ps2.c~fix-ps2-scancode	2016-12-23 21:14:59.837729450 +0900
> +++ qemu-hirofumi/hw/input/ps2.c	2016-12-23 21:14:59.840729469 +0900
> @@ -394,6 +394,9 @@ static const uint16_t qcode_to_keycode_s
>      [Q_KEY_CODE_LESS] = 0x61,
>      [Q_KEY_CODE_SYSRQ] = 0x7f,
>      [Q_KEY_CODE_RO] = 0x51,
> +    [Q_KEY_CODE_HIRAGANA] = 0x13,
> +    [Q_KEY_CODE_HENKAN] = 0x64,
> +    [Q_KEY_CODE_YEN] = 0x6a,
>      [Q_KEY_CODE_KP_COMMA] = 0x6d,
>  };
>
> diff -puN qapi-schema.json~fix-ps2-scancode qapi-schema.json
> --- qemu/qapi-schema.json~fix-ps2-scancode	2016-12-23 21:14:59.838729456 +0900
> +++ qemu-hirofumi/qapi-schema.json	2016-12-23 21:14:59.840729469 +0900
> @@ -3642,7 +3642,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', 'ro',
> +            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
> +            'ro', 'hiragana', 'henkan', 'yen',
>              'kp_comma', 'kp_equals', 'power' ] }
>
>  ##
> diff -puN ui/input-keymap.c~fix-ps2-scancode ui/input-keymap.c
> --- qemu/ui/input-keymap.c~fix-ps2-scancode	2016-12-23 21:14:59.839729463 +0900
> +++ qemu-hirofumi/ui/input-keymap.c	2016-12-23 21:14:59.840729469 +0900
> @@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
>      [Q_KEY_CODE_DELETE] = 0xd3,
>
>      [Q_KEY_CODE_RO] = 0x73,
> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
> +    [Q_KEY_CODE_HENKAN] = 0x79,
> +    [Q_KEY_CODE_YEN] = 0x7d,
>      [Q_KEY_CODE_KP_COMMA] = 0x7e,
>
>      [Q_KEY_CODE__MAX] = 0,

Can you also add the keycodes for scancode set 1:
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,

and scancode set 3:
+    [Q_KEY_CODE_HIRAGANA] = 0x87,
+    [Q_KEY_CODE_HENKAN] = 0x86,
+    [Q_KEY_CODE_YEN] = 0x51,

Hervé

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-23 13:00 [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes OGAWA Hirofumi
  2016-12-23 20:58 ` Hervé Poussineau
@ 2016-12-23 21:58 ` Eric Blake
  2016-12-23 23:33   ` OGAWA Hirofumi
  1 sibling, 1 reply; 15+ messages in thread
From: Eric Blake @ 2016-12-23 21:58 UTC (permalink / raw)
  To: OGAWA Hirofumi, qemu-devel; +Cc: Hervé Poussineau, Gerd Hoffmann

[-- Attachment #1: Type: text/plain, Size: 1137 bytes --]

On 12/23/2016 07:00 AM, OGAWA Hirofumi wrote:
> 
> With "ps2: use QEMU qcodes instead of scancodes", key handling was
> changed to qcode base. But all scancodes are not converted to new one.
> 
> This adds some missing qcodes what I found in using.
> 
> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
> ---
> 

> +++ qemu-hirofumi/qapi-schema.json	2016-12-23 21:14:59.840729469 +0900
> @@ -3642,7 +3642,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', 'ro',
> +            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
> +            'ro', 'hiragana', 'henkan', 'yen',
>              'kp_comma', 'kp_equals', 'power' ] }

Missing documentation (including a 'since 2.9' designation) for the new
enum members.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-23 20:58 ` Hervé Poussineau
@ 2016-12-23 22:49   ` OGAWA Hirofumi
  2016-12-27 14:27     ` Hervé Poussineau
  0 siblings, 1 reply; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-23 22:49 UTC (permalink / raw)
  To: Hervé Poussineau; +Cc: qemu-devel, Gerd Hoffmann

Hi,

Hervé Poussineau <hpoussin@reactos.org> writes:

>>      [Q_KEY_CODE_RO] = 0x73,
>> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
>> +    [Q_KEY_CODE_HENKAN] = 0x79,
>> +    [Q_KEY_CODE_YEN] = 0x7d,
>>      [Q_KEY_CODE_KP_COMMA] = 0x7e,
>>
>>      [Q_KEY_CODE__MAX] = 0,
>
> Can you also add the keycodes for scancode set 1:
> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
> +    [Q_KEY_CODE_HENKAN] = 0x79,
> +    [Q_KEY_CODE_YEN] = 0x7d,

Current linux can't use set1, so untested.

> and scancode set 3:
> +    [Q_KEY_CODE_HIRAGANA] = 0x87,
> +    [Q_KEY_CODE_HENKAN] = 0x86,
> +    [Q_KEY_CODE_YEN] = 0x51,

Boot with "i8042.direct=1", then set set3.

# echo 3 > /sys/devices/platform/i8042/serio0/set
# cat /sys/devices/platform/i8042/serio0/set
3

HENKAN, HIRAGANA seems to be working, but YEN is not working.  I'm not
sure if it is your patch, testing, or kernel problem.

Can you point what is problem?

# lsinput

[...]

/dev/input/event4
   bustype : BUS_I8042
   vendor  : 0x1
   product : 0x3
   version : 43907
   name    : "AT Raw Set 3 keyboard"
   phys    : "isa0060/serio0/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP

# input-event
/dev/input/event4
   bustype : BUS_I8042
   vendor  : 0x1
   product : 0x3
   version : 43907
   name    : "AT Raw Set 3 keyboard"
   phys    : "isa0060/serio0/input0"
   bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP

waiting for events
[... on qemu monitor "sendkey henkan" ...]
06:49:58.061932: EV_KEY KEY_HENKAN (0x5c) pressed
06:49:58.061932: EV_SYN code=0 value=0
06:49:58.149812: EV_MSC MSC_SCAN 134
06:49:58.149812: EV_KEY KEY_HENKAN (0x5c) released
06:49:58.149812: EV_SYN code=0 value=0
06:49:58.333876: EV_MSC MSC_SCAN 135
[... on qemu monitor "sendkey hiragana" ...]
06:49:58.333876: EV_KEY KEY_KATAKANAHIRAGANA (0x5d) pressed
06:49:58.333876: EV_SYN code=0 value=0
06:49:58.421889: EV_MSC MSC_SCAN 135
06:49:58.421889: EV_KEY KEY_KATAKANAHIRAGANA (0x5d) released
06:49:58.421889: EV_SYN code=0 value=0
06:49:58.893893: EV_MSC MSC_SCAN 81
[... on qemu monitor "sendkey yen" ...]
06:49:58.893893: EV_KEY KEY_VOLUMEDOWN (0x72) pressed
06:49:58.893893: EV_SYN code=0 value=0
06:49:58.973841: EV_MSC MSC_SCAN 81
06:49:58.973841: EV_KEY KEY_VOLUMEDOWN (0x72) released
06:49:58.973841: EV_SYN code=0 value=0
timeout, quitting
  
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-23 21:58 ` [Qemu-devel] [PATCH] " Eric Blake
@ 2016-12-23 23:33   ` OGAWA Hirofumi
  2016-12-23 23:36     ` [Qemu-devel] [PATCH v2] " OGAWA Hirofumi
  0 siblings, 1 reply; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-23 23:33 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel, Hervé Poussineau, Gerd Hoffmann

Eric Blake <eblake@redhat.com> writes:

> On 12/23/2016 07:00 AM, OGAWA Hirofumi wrote:
>> 
>> With "ps2: use QEMU qcodes instead of scancodes", key handling was
>> changed to qcode base. But all scancodes are not converted to new one.
>> 
>> This adds some missing qcodes what I found in using.
>> 
>> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
>> ---
>> 
>
>> +++ qemu-hirofumi/qapi-schema.json	2016-12-23 21:14:59.840729469 +0900
>> @@ -3642,7 +3642,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', 'ro',
>> +            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
>> +            'ro', 'hiragana', 'henkan', 'yen',
>>              'kp_comma', 'kp_equals', 'power' ] }
>
> Missing documentation (including a 'since 2.9' designation) for the new
> enum members.

Thanks for pointing out.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PATCH v2] ps2: Fix lost scancodes by recent changes
  2016-12-23 23:33   ` OGAWA Hirofumi
@ 2016-12-23 23:36     ` OGAWA Hirofumi
  0 siblings, 0 replies; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-23 23:36 UTC (permalink / raw)
  To: Eric Blake; +Cc: qemu-devel, Hervé Poussineau, Gerd Hoffmann


With "ps2: use QEMU qcodes instead of scancodes", key handling was
changed to qcode base. But all scancodes are not converted to new one.

This adds some missing qcodes/scancodes what I found in using.

[set1 and set2 are still missing, but I'm not sure what is right values yet.]

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 hw/input/ps2.c    |    3 +++
 qapi-schema.json  |    6 +++++-
 ui/input-keymap.c |    3 +++
 3 files changed, 11 insertions(+), 1 deletion(-)

diff -puN hw/input/ps2.c~fix-ps2-scancode hw/input/ps2.c
--- qemu/hw/input/ps2.c~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/hw/input/ps2.c	2016-12-24 08:30:12.426540795 +0900
@@ -394,6 +394,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_LESS] = 0x61,
     [Q_KEY_CODE_SYSRQ] = 0x7f,
     [Q_KEY_CODE_RO] = 0x51,
+    [Q_KEY_CODE_HIRAGANA] = 0x13,
+    [Q_KEY_CODE_HENKAN] = 0x64,
+    [Q_KEY_CODE_YEN] = 0x6a,
     [Q_KEY_CODE_KP_COMMA] = 0x6d,
 };
 
diff -puN qapi-schema.json~fix-ps2-scancode qapi-schema.json
--- qemu/qapi-schema.json~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/qapi-schema.json	2016-12-24 08:32:46.658549598 +0900
@@ -3618,6 +3618,9 @@
 # @kp_comma: since 2.4
 # @kp_equals: since 2.6
 # @power: since 2.6
+# @hiragana: since 2.9
+# @henkan: since 2.9
+# @yen: since 2.9
 #
 # An enumeration of key name.
 #
@@ -3642,7 +3645,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', 'ro',
+            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
+            'ro', 'hiragana', 'henkan', 'yen',
             'kp_comma', 'kp_equals', 'power' ] }
 
 ##
diff -puN ui/input-keymap.c~fix-ps2-scancode ui/input-keymap.c
--- qemu/ui/input-keymap.c~fix-ps2-scancode	2016-12-23 23:51:44.325955954 +0900
+++ qemu-hirofumi/ui/input-keymap.c	2016-12-23 23:51:44.327955966 +0900
@@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
     [Q_KEY_CODE_DELETE] = 0xd3,
 
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 
     [Q_KEY_CODE__MAX] = 0,
_

-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-23 22:49   ` OGAWA Hirofumi
@ 2016-12-27 14:27     ` Hervé Poussineau
  2016-12-27 19:49       ` OGAWA Hirofumi
  0 siblings, 1 reply; 15+ messages in thread
From: Hervé Poussineau @ 2016-12-27 14:27 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: qemu-devel, Gerd Hoffmann

Le 23/12/2016 à 23:49, OGAWA Hirofumi a écrit :
> Hi,
>
> Hervé Poussineau <hpoussin@reactos.org> writes:
>
[from ui/input-keymap.c]
>>>      [Q_KEY_CODE_RO] = 0x73,
>>> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
>>> +    [Q_KEY_CODE_HENKAN] = 0x79,
>>> +    [Q_KEY_CODE_YEN] = 0x7d,
>>>      [Q_KEY_CODE_KP_COMMA] = 0x7e,
>>>
>>>      [Q_KEY_CODE__MAX] = 0,
>>

[from hw/input/ps2.c]
>> Can you also add the keycodes for scancode set 1:
>> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
>> +    [Q_KEY_CODE_HENKAN] = 0x79,
>> +    [Q_KEY_CODE_YEN] = 0x7d,
>
> Current linux can't use set1, so untested.

Note that those are the same as those added in input-keymap.c

>
>> and scancode set 3:
>> +    [Q_KEY_CODE_HIRAGANA] = 0x87,
>> +    [Q_KEY_CODE_HENKAN] = 0x86,
>> +    [Q_KEY_CODE_YEN] = 0x51,
>
> Boot with "i8042.direct=1", then set set3.
>
> # echo 3 > /sys/devices/platform/i8042/serio0/set
> # cat /sys/devices/platform/i8042/serio0/set
> 3
>
> HENKAN, HIRAGANA seems to be working, but YEN is not working.  I'm not
> sure if it is your patch, testing, or kernel problem.
>
> Can you point what is problem?
>
> # lsinput
>
> [...]
>
> /dev/input/event4
>    bustype : BUS_I8042
>    vendor  : 0x1
>    product : 0x3
>    version : 43907
>    name    : "AT Raw Set 3 keyboard"
>    phys    : "isa0060/serio0/input0"
>    bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
>
> # input-event
> /dev/input/event4
>    bustype : BUS_I8042
>    vendor  : 0x1
>    product : 0x3
>    version : 43907
>    name    : "AT Raw Set 3 keyboard"
>    phys    : "isa0060/serio0/input0"
>    bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP
>
> waiting for events
> [... on qemu monitor "sendkey henkan" ...]
> 06:49:58.061932: EV_KEY KEY_HENKAN (0x5c) pressed
> 06:49:58.061932: EV_SYN code=0 value=0
> 06:49:58.149812: EV_MSC MSC_SCAN 134
-> 134 = 0x86, as expected ([Q_KEY_CODE_HENKAN] = 0x86)

> 06:49:58.149812: EV_KEY KEY_HENKAN (0x5c) released
> 06:49:58.149812: EV_SYN code=0 value=0

> [... on qemu monitor "sendkey hiragana" ...]
> 06:49:58.333876: EV_MSC MSC_SCAN 135
-> 135 = 0x87, as expected ([Q_KEY_CODE_HIRAGANA] = 0x87)

> 06:49:58.333876: EV_KEY KEY_KATAKANAHIRAGANA (0x5d) pressed
> 06:49:58.333876: EV_SYN code=0 value=0
> 06:49:58.421889: EV_MSC MSC_SCAN 135
> 06:49:58.421889: EV_KEY KEY_KATAKANAHIRAGANA (0x5d) released
> 06:49:58.421889: EV_SYN code=0 value=0

> [... on qemu monitor "sendkey yen" ...]
> 06:49:58.893893: EV_MSC MSC_SCAN 81
-> 81 = 0x51
> 06:49:58.893893: EV_KEY KEY_VOLUMEDOWN (0x72) pressed
> 06:49:58.893893: EV_SYN code=0 value=0
> 06:49:58.973841: EV_MSC MSC_SCAN 81
> 06:49:58.973841: EV_KEY KEY_VOLUMEDOWN (0x72) released
> 06:49:58.973841: EV_SYN code=0 value=0
> timeout, quitting

So, Linux is describing 0x51 make scancode as VOLUMEDOWN.

Indeed, according to http://www.quadibloc.com/comp/scan.htm
                 Set 1  Set 2  Set 3
HENKAN           79     64     86    (kanji)
HIRAGANA         70     13     87    (katakana)
YEN              7d     6a     5d    (INT 4)

So correct values for hw/input/ps2.c seem to be:

Set 1 (same values as in ui/input-keymap.c)
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,

Set 2 (your initial patch)
+    [Q_KEY_CODE_HIRAGANA] = 0x13,
+    [Q_KEY_CODE_HENKAN] = 0x64,
+    [Q_KEY_CODE_YEN] = 0x6a,

Set 3:
+    [Q_KEY_CODE_HIRAGANA] = 0x87, // already verified
+    [Q_KEY_CODE_HENKAN] = 0x86, // already verified
+    [Q_KEY_CODE_YEN] = 0x5d,  // not 0x51,  as I said in a previous email

Can you check those values?

Regards,

Hervé

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes
  2016-12-27 14:27     ` Hervé Poussineau
@ 2016-12-27 19:49       ` OGAWA Hirofumi
  2016-12-27 19:55         ` [Qemu-devel] [PATCH v3] " OGAWA Hirofumi
  0 siblings, 1 reply; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-27 19:49 UTC (permalink / raw)
  To: Hervé Poussineau; +Cc: qemu-devel, Gerd Hoffmann

Hervé Poussineau <hpoussin@reactos.org> writes:

> [from hw/input/ps2.c]
>>> Can you also add the keycodes for scancode set 1:
>>> +    [Q_KEY_CODE_HIRAGANA] = 0x70,
>>> +    [Q_KEY_CODE_HENKAN] = 0x79,
>>> +    [Q_KEY_CODE_YEN] = 0x7d,
>>
>> Current linux can't use set1, so untested.
>
> Note that those are the same as those added in input-keymap.c

I see.

>> [... on qemu monitor "sendkey yen" ...]
>> 06:49:58.893893: EV_MSC MSC_SCAN 81
> -> 81 = 0x51
>> 06:49:58.893893: EV_KEY KEY_VOLUMEDOWN (0x72) pressed
>> 06:49:58.893893: EV_SYN code=0 value=0
>> 06:49:58.973841: EV_MSC MSC_SCAN 81
>> 06:49:58.973841: EV_KEY KEY_VOLUMEDOWN (0x72) released
>> 06:49:58.973841: EV_SYN code=0 value=0
>> timeout, quitting
>
> So, Linux is describing 0x51 make scancode as VOLUMEDOWN.
>
> Indeed, according to http://www.quadibloc.com/comp/scan.htm
>                  Set 1  Set 2  Set 3
> HENKAN           79     64     86    (kanji)
> HIRAGANA         70     13     87    (katakana)
> YEN              7d     6a     5d    (INT 4)
>
> So correct values for hw/input/ps2.c seem to be:

[...]

> Set 3:
> +    [Q_KEY_CODE_HIRAGANA] = 0x87, // already verified
> +    [Q_KEY_CODE_HENKAN] = 0x86, // already verified
> +    [Q_KEY_CODE_YEN] = 0x5d,  // not 0x51,  as I said in a previous email
>
> Can you check those values?

04:32:33.111316: EV_MSC MSC_SCAN 93
04:32:33.111316: EV_KEY KEY_BACKSLASH (0x2b) pressed
04:32:33.111316: EV_SYN code=0 value=0

Sent 93==0x5d as expected, but keycode is BACKSLASH. Of course, linux
driver is using BACKSLASH(43) keycode for 0x5d. But linux driver has
several BACKSLASH entries for multiple scancodes in set3.

And qemu doesn't have 0x5d entry in set3.  Also

	http://hp.vector.co.jp/authors/VA003720/lpproj/others/kbdjpn.htm

yet another site says 0x5d.

Some sites says about buggy keyboards using wrong scancode in set3, and
microsoft seems to removed set3 from specification. So linux translation
table for 43=>0x5d, maybe result of workarounds.

So looks like 0x5d is right value for set3.

Thanks.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2016-12-27 19:49       ` OGAWA Hirofumi
@ 2016-12-27 19:55         ` OGAWA Hirofumi
  2016-12-27 20:11           ` Hervé Poussineau
  2017-01-04  8:50           ` Gerd Hoffmann
  0 siblings, 2 replies; 15+ messages in thread
From: OGAWA Hirofumi @ 2016-12-27 19:55 UTC (permalink / raw)
  To: Hervé Poussineau; +Cc: qemu-devel, Gerd Hoffmann, Eric Blake


With "ps2: use QEMU qcodes instead of scancodes", key handling was
changed to qcode base. But all scancodes are not converted to new one.

This adds some missing qcodes/scancodes what I found in using.

[set1 and set3 are from <hpoussin@reactos.org>]
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
---

 hw/input/ps2.c    |   10 ++++++++++
 qapi-schema.json  |    6 +++++-
 ui/input-keymap.c |    3 +++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff -puN hw/input/ps2.c~fix-ps2-scancode hw/input/ps2.c
--- qemu/hw/input/ps2.c~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/hw/input/ps2.c	2016-12-28 04:50:05.075057779 +0900
@@ -252,6 +252,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_ASTERISK] = 0x37,
     [Q_KEY_CODE_LESS] = 0x56,
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 };
 
@@ -394,6 +397,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_LESS] = 0x61,
     [Q_KEY_CODE_SYSRQ] = 0x7f,
     [Q_KEY_CODE_RO] = 0x51,
+    [Q_KEY_CODE_HIRAGANA] = 0x13,
+    [Q_KEY_CODE_HENKAN] = 0x64,
+    [Q_KEY_CODE_YEN] = 0x6a,
     [Q_KEY_CODE_KP_COMMA] = 0x6d,
 };
 
@@ -504,6 +510,10 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_COMMA] = 0x41,
     [Q_KEY_CODE_DOT] = 0x49,
     [Q_KEY_CODE_SLASH] = 0x4a,
+
+    [Q_KEY_CODE_HIRAGANA] = 0x87,
+    [Q_KEY_CODE_HENKAN] = 0x86,
+    [Q_KEY_CODE_YEN] = 0x5d,
 };
 
 static uint8_t translate_table[256] = {
diff -puN qapi-schema.json~fix-ps2-scancode qapi-schema.json
--- qemu/qapi-schema.json~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/qapi-schema.json	2016-12-24 08:32:46.658549598 +0900
@@ -3618,6 +3618,9 @@
 # @kp_comma: since 2.4
 # @kp_equals: since 2.6
 # @power: since 2.6
+# @hiragana: since 2.9
+# @henkan: since 2.9
+# @yen: since 2.9
 #
 # An enumeration of key name.
 #
@@ -3642,7 +3645,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', 'ro',
+            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
+            'ro', 'hiragana', 'henkan', 'yen',
             'kp_comma', 'kp_equals', 'power' ] }
 
 ##
diff -puN ui/input-keymap.c~fix-ps2-scancode ui/input-keymap.c
--- qemu/ui/input-keymap.c~fix-ps2-scancode	2016-12-23 23:51:44.325955954 +0900
+++ qemu-hirofumi/ui/input-keymap.c	2016-12-23 23:51:44.327955966 +0900
@@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
     [Q_KEY_CODE_DELETE] = 0xd3,
 
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 
     [Q_KEY_CODE__MAX] = 0,
_

-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2016-12-27 19:55         ` [Qemu-devel] [PATCH v3] " OGAWA Hirofumi
@ 2016-12-27 20:11           ` Hervé Poussineau
  2017-01-04  8:50           ` Gerd Hoffmann
  1 sibling, 0 replies; 15+ messages in thread
From: Hervé Poussineau @ 2016-12-27 20:11 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: qemu-devel, Gerd Hoffmann, Eric Blake

Le 27/12/2016 à 20:55, OGAWA Hirofumi a écrit :
>
> With "ps2: use QEMU qcodes instead of scancodes", key handling was
> changed to qcode base. But all scancodes are not converted to new one.
>
> This adds some missing qcodes/scancodes what I found in using.
>
> [set1 and set3 are from <hpoussin@reactos.org>]
> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


Reviewed-by: Hervé Poussineau <hpoussin@reactos.org>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2016-12-27 19:55         ` [Qemu-devel] [PATCH v3] " OGAWA Hirofumi
  2016-12-27 20:11           ` Hervé Poussineau
@ 2017-01-04  8:50           ` Gerd Hoffmann
  2017-01-04 17:59             ` Hervé Poussineau
  1 sibling, 1 reply; 15+ messages in thread
From: Gerd Hoffmann @ 2017-01-04  8:50 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: Hervé Poussineau, qemu-devel, Eric Blake

On Mi, 2016-12-28 at 04:55 +0900, OGAWA Hirofumi wrote:
> With "ps2: use QEMU qcodes instead of scancodes", key handling was
> changed to qcode base. But all scancodes are not converted to new one.
> 
> This adds some missing qcodes/scancodes what I found in using.

Added to ui queue.

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2017-01-04  8:50           ` Gerd Hoffmann
@ 2017-01-04 17:59             ` Hervé Poussineau
  2017-01-04 21:11               ` OGAWA Hirofumi
  0 siblings, 1 reply; 15+ messages in thread
From: Hervé Poussineau @ 2017-01-04 17:59 UTC (permalink / raw)
  To: Gerd Hoffmann, OGAWA Hirofumi; +Cc: qemu-devel, Eric Blake

Le 04/01/2017 à 09:50, Gerd Hoffmann a écrit :
> On Mi, 2016-12-28 at 04:55 +0900, OGAWA Hirofumi wrote:
>> With "ps2: use QEMU qcodes instead of scancodes", key handling was
>> changed to qcode base. But all scancodes are not converted to new one.
>>
>> This adds some missing qcodes/scancodes what I found in using.
>
> Added to ui queue.

Hi Gerd,

Your pull request (patch 01/11) contains v2 of this patch (which is incomplete).
I've only reviewed v3, which is complete.

Regards,

Hervé

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2017-01-04 17:59             ` Hervé Poussineau
@ 2017-01-04 21:11               ` OGAWA Hirofumi
  2017-01-05  8:12                 ` Gerd Hoffmann
  0 siblings, 1 reply; 15+ messages in thread
From: OGAWA Hirofumi @ 2017-01-04 21:11 UTC (permalink / raw)
  To: Hervé Poussineau; +Cc: Gerd Hoffmann, qemu-devel, Eric Blake

Hervé Poussineau <hpoussin@reactos.org> writes:

> Le 04/01/2017 à 09:50, Gerd Hoffmann a écrit :
>> On Mi, 2016-12-28 at 04:55 +0900, OGAWA Hirofumi wrote:
>>> With "ps2: use QEMU qcodes instead of scancodes", key handling was
>>> changed to qcode base. But all scancodes are not converted to new one.
>>>
>>> This adds some missing qcodes/scancodes what I found in using.
>>
>> Added to ui queue.
>
> Hi Gerd,
>
> Your pull request (patch 01/11) contains v2 of this patch (which is incomplete).
> I've only reviewed v3, which is complete.

Yes, please use v3. Here is copy&paste, FWIW.

----
Subject: [PATCH v3] ps2: Fix lost scancodes by recent changes

With "ps2: use QEMU qcodes instead of scancodes", key handling was
changed to qcode base. But all scancodes are not converted to new one.

This adds some missing qcodes/scancodes what I found in using.

[set1 and set3 are from Hervé Poussineau <hpoussin@reactos.org>]
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Reviewed-by: Hervé Poussineau <hpoussin@reactos.org>
---

 hw/input/ps2.c    |   10 ++++++++++
 qapi-schema.json  |    6 +++++-
 ui/input-keymap.c |    3 +++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff -puN hw/input/ps2.c~fix-ps2-scancode hw/input/ps2.c
--- qemu/hw/input/ps2.c~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/hw/input/ps2.c	2016-12-28 04:50:05.075057779 +0900
@@ -252,6 +252,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_ASTERISK] = 0x37,
     [Q_KEY_CODE_LESS] = 0x56,
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 };
 
@@ -394,6 +397,9 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_LESS] = 0x61,
     [Q_KEY_CODE_SYSRQ] = 0x7f,
     [Q_KEY_CODE_RO] = 0x51,
+    [Q_KEY_CODE_HIRAGANA] = 0x13,
+    [Q_KEY_CODE_HENKAN] = 0x64,
+    [Q_KEY_CODE_YEN] = 0x6a,
     [Q_KEY_CODE_KP_COMMA] = 0x6d,
 };
 
@@ -504,6 +510,10 @@ static const uint16_t qcode_to_keycode_s
     [Q_KEY_CODE_COMMA] = 0x41,
     [Q_KEY_CODE_DOT] = 0x49,
     [Q_KEY_CODE_SLASH] = 0x4a,
+
+    [Q_KEY_CODE_HIRAGANA] = 0x87,
+    [Q_KEY_CODE_HENKAN] = 0x86,
+    [Q_KEY_CODE_YEN] = 0x5d,
 };
 
 static uint8_t translate_table[256] = {
diff -puN qapi-schema.json~fix-ps2-scancode qapi-schema.json
--- qemu/qapi-schema.json~fix-ps2-scancode	2016-12-23 23:51:44.324955949 +0900
+++ qemu-hirofumi/qapi-schema.json	2016-12-24 08:32:46.658549598 +0900
@@ -3618,6 +3618,9 @@
 # @kp_comma: since 2.4
 # @kp_equals: since 2.6
 # @power: since 2.6
+# @hiragana: since 2.9
+# @henkan: since 2.9
+# @yen: since 2.9
 #
 # An enumeration of key name.
 #
@@ -3642,7 +3645,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', 'ro',
+            'lf', 'help', 'meta_l', 'meta_r', 'compose', 'pause',
+            'ro', 'hiragana', 'henkan', 'yen',
             'kp_comma', 'kp_equals', 'power' ] }
 
 ##
diff -puN ui/input-keymap.c~fix-ps2-scancode ui/input-keymap.c
--- qemu/ui/input-keymap.c~fix-ps2-scancode	2016-12-23 23:51:44.325955954 +0900
+++ qemu-hirofumi/ui/input-keymap.c	2016-12-23 23:51:44.327955966 +0900
@@ -131,6 +131,9 @@ static const int qcode_to_number[] = {
     [Q_KEY_CODE_DELETE] = 0xd3,
 
     [Q_KEY_CODE_RO] = 0x73,
+    [Q_KEY_CODE_HIRAGANA] = 0x70,
+    [Q_KEY_CODE_HENKAN] = 0x79,
+    [Q_KEY_CODE_YEN] = 0x7d,
     [Q_KEY_CODE_KP_COMMA] = 0x7e,
 
     [Q_KEY_CODE__MAX] = 0,
_

-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2017-01-04 21:11               ` OGAWA Hirofumi
@ 2017-01-05  8:12                 ` Gerd Hoffmann
  2017-01-05  8:45                   ` OGAWA Hirofumi
  0 siblings, 1 reply; 15+ messages in thread
From: Gerd Hoffmann @ 2017-01-05  8:12 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: Hervé Poussineau, qemu-devel, Eric Blake

On Do, 2017-01-05 at 06:11 +0900, OGAWA Hirofumi wrote:
> Hervé Poussineau <hpoussin@reactos.org> writes:
> 
> > Le 04/01/2017 à 09:50, Gerd Hoffmann a écrit :
> >> On Mi, 2016-12-28 at 04:55 +0900, OGAWA Hirofumi wrote:
> >>> With "ps2: use QEMU qcodes instead of scancodes", key handling was
> >>> changed to qcode base. But all scancodes are not converted to new one.
> >>>
> >>> This adds some missing qcodes/scancodes what I found in using.
> >>
> >> Added to ui queue.
> >
> > Hi Gerd,
> >
> > Your pull request (patch 01/11) contains v2 of this patch (which is incomplete).
> > I've only reviewed v3, which is complete.
> 
> Yes, please use v3. Here is copy&paste, FWIW.

Please don't send new versions of patches as reply.  That confuses
various patch management tools, they are considered being part of the
discussion then.  This is how the reviewed-by tag ended up being
attributed to the wrong patch version.

Have a look at http://patchew.org/QEMU/ for example, the patches sent as
reply don't show up there, so they are not tested automatically.

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Qemu-devel] [PATCH v3] ps2: Fix lost scancodes by recent changes
  2017-01-05  8:12                 ` Gerd Hoffmann
@ 2017-01-05  8:45                   ` OGAWA Hirofumi
  0 siblings, 0 replies; 15+ messages in thread
From: OGAWA Hirofumi @ 2017-01-05  8:45 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Hervé Poussineau, qemu-devel, Eric Blake

Gerd Hoffmann <kraxel@redhat.com> writes:

>> Yes, please use v3. Here is copy&paste, FWIW.
>
> Please don't send new versions of patches as reply.  That confuses
> various patch management tools, they are considered being part of the
> discussion then.  This is how the reviewed-by tag ended up being
> attributed to the wrong patch version.
>
> Have a look at http://patchew.org/QEMU/ for example, the patches sent as
> reply don't show up there, so they are not tested automatically.

Hm, it is surprise to me. Ok, I will re-start on new thread for
qemu-devel next time. BTW, url of your example didn't show even initial
patch (if I didn't overlook). Looks like it is broken.

Thanks.
-- 
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-01-05  8:45 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-23 13:00 [Qemu-devel] [PATCH] ps2: Fix lost scancodes by recent changes OGAWA Hirofumi
2016-12-23 20:58 ` Hervé Poussineau
2016-12-23 22:49   ` OGAWA Hirofumi
2016-12-27 14:27     ` Hervé Poussineau
2016-12-27 19:49       ` OGAWA Hirofumi
2016-12-27 19:55         ` [Qemu-devel] [PATCH v3] " OGAWA Hirofumi
2016-12-27 20:11           ` Hervé Poussineau
2017-01-04  8:50           ` Gerd Hoffmann
2017-01-04 17:59             ` Hervé Poussineau
2017-01-04 21:11               ` OGAWA Hirofumi
2017-01-05  8:12                 ` Gerd Hoffmann
2017-01-05  8:45                   ` OGAWA Hirofumi
2016-12-23 21:58 ` [Qemu-devel] [PATCH] " Eric Blake
2016-12-23 23:33   ` OGAWA Hirofumi
2016-12-23 23:36     ` [Qemu-devel] [PATCH v2] " OGAWA Hirofumi

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).