From: Dana Goyette <danagoyette@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>,
platform-driver-x86 <platform-driver-x86@vger.kernel.org>
Subject: Re: [PATCH] platform/x86: hp-wmi: Add support for home in HP OMEN laptops
Date: Sat, 28 Nov 2020 21:38:34 -0800 [thread overview]
Message-ID: <b0acdbd5-6f0e-5b3b-1682-1be551d48c20@gmail.com> (raw)
In-Reply-To: <2853bc2b-be49-9ff7-3f9e-6caca8162b26@redhat.com>
On 11/28/20 3:13 AM, Hans de Goede wrote:
> Hi,
>
> On 11/28/20 3:55 AM, Dana Goyette wrote:
>>
>>
>>> On 11/27/20 6:19 PM, Dana Goyette wrote:
>>>
>>> FYI, the HP Omen 15 2020 has a different keyboard, where Home is a proper separate key. The India model has yet another layout, with a full numeric keypad that also includes Home. So unless we want to get into DMI matching, it's safest to map the key to something distinct.
>>>
>>> Layout on the US model:
>>>
>>> [Omen] [Calc] [PrtScr]
>>> [Insert] [Home] [PgUp]
>>> [Pause] [End] [PgDn]
>>>
>>> Layout on the India model:
>>> [Omen] [Calc] [Insert] [PrtScr]
>>> [NumLock] [/] [*] [-]
>>> [7/Home] [8] [9/PgUp] [+]
>>>
>>> (Where's Delete? Above Backspace.)
>>
>> Upon looking at the driver's source, the 2020 model won't be encountering that path, so "home" may be okay after all. When I press that key, the event is different (it's not HPWMI_BEZEL_BUTTON).
>>
>> hp_wmi: Unknown event_id - 29 - 0x21a5
>
> Hmm, but the event_data is the same as before, so maybe event-id 29 is simply
> the new HPWMI_BEZEL_BUTTON... I wonder if other keys generate this event-id too,
> and if they also use the same event_data values is before.
>
> Or IOW I wonder if we can / want to re-use the hp_wmi_keymap (and the existing
> input_dev) for the new event-id 29, or if we want a new input_dev and sparse-keymap
> for the new event-id.
>
> My initial feeling is to re-use the existing input_dev and keymap at which point
> the event-id being different does not help us. We should probably just assign
> KEY_CONFIG to it. Users who want it to send home can then remap that,
> either through hwdb, so that it gets re-mapped to KEY_HOME at the kernel level,
> or at some higher level.
>
> Note in my original reply I said to use KEY_CONTROL_PANEL, but that has the
> disadvantage that its keycode is above 247 which is not supported under X11.
> Looking at this again I wonder why we have KEY_CONTROL_PANEL at all, since
> the comments on KEY_CONFIG pretty much over opening the control-panel:
>
> #define KEY_CONFIG 171 /* AL Consumer Control Configuration */
>
> Alternatives which are also under 247 are:
>
> KEY_COMPUTER
> KEY_HOMEPAGE
> KEY_DASHBOARD
> KEY_MEDIA
>
> I see that despite me reviewing this, the patch never landed, so we are free to
> do what we want here with having to worry about breaking existing setups.
>
> Regards,
>
> Hans
>
I tried various keys in xdotool, and `xdotool key XF86Tools` opens
Gnome's Settings application. From what I can tell, KEY_CONFIG is
mapped to that: https://bugs.freedesktop.org/show_bug.cgi?id=12228
There's also precedent in the Huawei laptop driver for using KEY_CONFIG:
https://lore.kernel.org/patchwork/patch/1024465/
For completeness, I'm adding further information about the hotkeys on
the HP Omen 15 2020 (AMD), though the other keys are probably out of the
scope of this patch.
---
Omen key:
* On Windows, brings up Omen command center
* hp-wmi: Unknown event_id - 29 - 0x21a5
* Since it's an unknown event, it's not sent via the event device.
Fn-Escape (unmarked):
* On Windows, triggers a small HP system info window.
* hp_wmi: Unknown event_id - 29 - 0x21a7
* My last HP (EliteBook 8530w from 2008) had Fn-Escape too, but I don't
recall what it did in Linux.
Fn-F2 / Fn-F3 (backlight down/up):
* Sends proper events via ACPI Video. but also does something on atkbd:
* atkbd serio0: Unknown key released (translated set 2, code 0xab on
isa0060/serio0).
* atkbd serio0: Use 'setkeycodes e02b <keycode>' to make it known.
Fn-F4 (keyboard backlight toggle):
* Toggle seems to happen in firmware
* Nothing on hp-wmi
* Nothing on any event devices
Fn-F11 (touchpad lock):
* Locking works (touchpad is frozen while LED is on)
* From unlocked: hp-wmi: Unknown key code - 0x21a9. (LED turns on.)
* From locked: hp-wmi: Unknown key code - 0x121a9 (LED turns off.)
* Sends EV_MSC/MSC_SCAN (value 0x21a9 or 0x121a9) to userspace.
* Sends EV_KEY/KEY_UNKNOWN down and up immediately (no hold or repeat).
Fn-F12 (windows key lock):
* No LED, but the lock works.
* From unlocked: hp-wmi: Unknown key code - 0x21a4 (Now locked.)
* From locked: hp-wmi: Unknown key code - 0x121a4 (Now unlocked.)
* Sends EV_MSC/MSC_SCAN (value 0x21a4 or 0x121a4) to userspace.
* Sends EV_KEY/KEY_UNKNOWN down and up immediately (no hold or repeat).
next prev parent reply other threads:[~2020-11-29 5:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <174c79fb794.120dada4b39603.5369737602791060462@sidsun.com>
2020-09-26 10:47 ` [PATCH] platform/x86: hp-wmi: Add support for home in HP OMEN laptops Hans de Goede
2020-11-28 2:19 ` Dana Goyette
2020-11-28 2:55 ` Dana Goyette
2020-11-28 11:13 ` Hans de Goede
2020-11-29 5:38 ` Dana Goyette [this message]
2020-11-29 12:09 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b0acdbd5-6f0e-5b3b-1682-1be551d48c20@gmail.com \
--to=danagoyette@gmail.com \
--cc=hdegoede@redhat.com \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox