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

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

 



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!?

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




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

  Powered by Linux