hw/input/hid: Add support for several keys.

Message ID 20171207065639.164900-1-lepton@google.com
State New
Headers show
Series
  • hw/input/hid: Add support for several keys.
Related show

Commit Message

Marc Olson via Qemu-devel Dec. 7, 2017, 6:56 a.m.
Add support for these keys: audiomute volumedown volumeup power.
Tested with "sendkey" command in monitor and verify the behavior
in guest OS.

Signed-off-by: Tao Wu <lepton@google.com>
---
 hw/input/hid.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Marc Olson via Qemu-devel Dec. 14, 2017, 9:25 p.m. | #1
Anybody can merge this?

It's a simple change:  actually it only changed 4 bytes in hid usage
table to enable 4 keys: audiomute volumeup volumedown and power.

It's easy to verify what the patch is doing:

Boot some guest os with argument "-usbdevice keyboard"  and use qemu
monitor console to do "sendkey audiomute", without this patch, nothing
happend inside guest os. with this patch,  all these 4 keys work correctly.

On Wed, Dec 6, 2017 at 10:56 PM, Tao Wu <lepton@google.com> wrote:
> Add support for these keys: audiomute volumedown volumeup power.
> Tested with "sendkey" command in monitor and verify the behavior
> in guest OS.
>
> Signed-off-by: Tao Wu <lepton@google.com>
> ---
>  hw/input/hid.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/hw/input/hid.c b/hw/input/hid.c
> index 0d049ff61c..aa4fb826fd 100644
> --- a/hw/input/hid.c
> +++ b/hw/input/hid.c
> @@ -57,14 +57,14 @@ static const uint8_t hid_usage_keys[0x100] = {
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x58, 0xe4, 0x00, 0x00,
> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
> +    0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
> +    0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
>      0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x4a,
>      0x52, 0x4b, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x4d,
>      0x51, 0x4e, 0x49, 0x4c, 0x00, 0x00, 0x00, 0x00,
> -    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x00, 0x00,
> +    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x66, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
> --
> 2.15.1.424.g9478a66081-goog
>
Marc Olson via Qemu-devel Jan. 2, 2018, 9:03 a.m. | #2
Ping?

On Thu, Dec 14, 2017 at 1:25 PM, Tao Wu(吴涛@Eng) <lepton@google.com> wrote:
> Anybody can merge this?
>
> It's a simple change:  actually it only changed 4 bytes in hid usage
> table to enable 4 keys: audiomute volumeup volumedown and power.
>
> It's easy to verify what the patch is doing:
>
> Boot some guest os with argument "-usbdevice keyboard"  and use qemu
> monitor console to do "sendkey audiomute", without this patch, nothing
> happend inside guest os. with this patch,  all these 4 keys work correctly.
>
> On Wed, Dec 6, 2017 at 10:56 PM, Tao Wu <lepton@google.com> wrote:
>> Add support for these keys: audiomute volumedown volumeup power.
>> Tested with "sendkey" command in monitor and verify the behavior
>> in guest OS.
>>
>> Signed-off-by: Tao Wu <lepton@google.com>
>> ---
>>  hw/input/hid.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/input/hid.c b/hw/input/hid.c
>> index 0d049ff61c..aa4fb826fd 100644
>> --- a/hw/input/hid.c
>> +++ b/hw/input/hid.c
>> @@ -57,14 +57,14 @@ static const uint8_t hid_usage_keys[0x100] = {
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x58, 0xe4, 0x00, 0x00,
>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
>> +    0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
>> +    0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
>>      0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x4a,
>>      0x52, 0x4b, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x4d,
>>      0x51, 0x4e, 0x49, 0x4c, 0x00, 0x00, 0x00, 0x00,
>> -    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x66, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>> --
>> 2.15.1.424.g9478a66081-goog
>>
Laurent Vivier Jan. 2, 2018, 1:35 p.m. | #3
Le 02/01/2018 à 10:03, Tao Wu(吴涛@Eng) a écrit :
> Ping?

Your patch has been Merged by michael with his pull request of 17/12/2017.

Thanks,
Laurent

> On Thu, Dec 14, 2017 at 1:25 PM, Tao Wu(吴涛@Eng) <lepton@google.com> wrote:
>> Anybody can merge this?
>>
>> It's a simple change:  actually it only changed 4 bytes in hid usage
>> table to enable 4 keys: audiomute volumeup volumedown and power.
>>
>> It's easy to verify what the patch is doing:
>>
>> Boot some guest os with argument "-usbdevice keyboard"  and use qemu
>> monitor console to do "sendkey audiomute", without this patch, nothing
>> happend inside guest os. with this patch,  all these 4 keys work correctly.
>>
>> On Wed, Dec 6, 2017 at 10:56 PM, Tao Wu <lepton@google.com> wrote:
>>> Add support for these keys: audiomute volumedown volumeup power.
>>> Tested with "sendkey" command in monitor and verify the behavior
>>> in guest OS.
>>>
>>> Signed-off-by: Tao Wu <lepton@google.com>
>>> ---
>>>  hw/input/hid.c | 8 ++++----
>>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/hw/input/hid.c b/hw/input/hid.c
>>> index 0d049ff61c..aa4fb826fd 100644
>>> --- a/hw/input/hid.c
>>> +++ b/hw/input/hid.c
>>> @@ -57,14 +57,14 @@ static const uint8_t hid_usage_keys[0x100] = {
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x58, 0xe4, 0x00, 0x00,
>>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>> -    0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
>>> +    0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
>>> +    0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
>>>      0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x4a,
>>>      0x52, 0x4b, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x4d,
>>>      0x51, 0x4e, 0x49, 0x4c, 0x00, 0x00, 0x00, 0x00,
>>> -    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x00, 0x00,
>>> +    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x66, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>>      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
>>> --
>>> 2.15.1.424.g9478a66081-goog
>>>

Patch

diff --git a/hw/input/hid.c b/hw/input/hid.c
index 0d049ff61c..aa4fb826fd 100644
--- a/hw/input/hid.c
+++ b/hw/input/hid.c
@@ -57,14 +57,14 @@  static const uint8_t hid_usage_keys[0x100] = {
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x58, 0xe4, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
+    0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
+    0x80, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,
     0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x48, 0x4a,
     0x52, 0x4b, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x4d,
     0x51, 0x4e, 0x49, 0x4c, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65, 0x66, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,