Re: hp-wmi: info hotkey has no keycode or scancode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am 22.01.24 um 08:05 schrieb Dennis Nezic:

On 21 Jan 16:16, Armin Wolf wrote:
Am 20.01.24 um 22:39 schrieb Dennis Nezic:

On 20 Jan 21:52, Armin Wolf wrote:
Am 20.01.24 um 19:58 schrieb Dennis Nezic:

Guys, the "info" illuminated touch-key (hotkey?) on my laptop "doesn't
work", showkey doesn't report any keycode or scancode. I don't see any
wmi related error messages from dmesg. All the other illuminated
"hotkeys" work fine, although confusingly evtest and "libinput
debug-events" report that they're coming through the event interface
associated with "AT Translated Set 2 keyboard" instead of "HP WMI
hotkeys", but hey, as long as I receive them I'm okay :p.

hp-wmi.c does seem to reference it:
     { KE_KEY, 0x213b,  { KEY_INFO } },

How can I go about troubleshooting this? (I'm using kernel 6.6.8)
it can be possible that your machine does not use hp-wmi to deliver keycodes
to the operating system, but instead emulates a standard keyboard controller.

Can you check with "kacpimon" that events concerning a PNP0C14 device are being
received?
Very possible indeed. "kacpimon" doesn't show anything when I press that
touchkey, but it does when I press all the other touchkeys. (I do get
lots of accelerometer noise.)

Interesting, can you please share the output of:
- "kacpimon" while you where pressing the buttons
- "acpidump"
Actually I was finally able to detect something via kacpimon, but it was
elusive, and it's scaring me now! It wouldn't immediately show on live
stdout (the way the other touch-hotkeys, and normal keys, do), and I
even had trouble seeing it when trying to redirect stdout to a file!
Ctrl-C'ing would prematurely truncate the output, sometimes not
capturing it, even the more graceful Escape-exit wouldn't capture it
unless I waited or padded it with mouse movements. Ie. there is some
very weird delay going on, and maybe repetition, or something.

For example, I swear I only touched that info key 5 times here, and then
AFTERWARDS pressed the 'A' key twice, and then Esc. grep'ing for
'Type: 1' I was able to catch:

Input Layer:  Type: 1  Code: 28  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 30  Value: 1
Input Layer:  Type: 1  Code: 30  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 30  Value: 1
Input Layer:  Type: 1  Code: 30  Value: 0
Input Layer:  Type: 1  Code: 1  Value: 1

A more weird example, again I *swear* I first only touched that info key
*5* times, and then moved the mouse for a few seconds between 2 'A' key
presses, and finishing with Escape, but although it showed the two 'A'
key events properly, it also showed *11* "code 325" and 11 "code 330"
value1 events, out of order!?

Those events are touchscreen events, maybe your mouse is responsible for them.


Input Layer:  Type: 1  Code: 28  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 30  Value: 1
Input Layer:  Type: 1  Code: 30  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 30  Value: 1
Input Layer:  Type: 1  Code: 30  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 1
Input Layer:  Type: 1  Code: 330  Value: 0
Input Layer:  Type: 1  Code: 325  Value: 0
Input Layer:  Type: 1  Code: 1  Value: 1

(Thank you for your guidance btw! Will an acpidump still be necessary?)

I have to apologize, the events send by ACPI WMI to kacpimon do not contain a "PNP0C14" string
or the name WMI at all.

Instead they look like this:

	netlink:  9DBB5994-A997- 000000d0 00000000

Can you try to use kacpimon again but without root privileges? This way only netlink events show up.
You might also stop acpid while you are using kacpimon.

If you still cannot receive any netlink events, then i might need to take a look at your ACPI tables
via acpidump.

Thanks,
Armin Wolf





[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux