mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hans de Goede <hansg@kernel.org>
To: "Anton Khirnov" <anton@khirnov.net>,
	"Corentin Chary" <corentin.chary@gmail.com>,
	"Luke D. Jones" <luke@ljones.dev>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] platform/x86: asus-wmi: map more keys on ExpertBook B9
Date: Mon, 14 Jul 2025 16:10:12 +0200	[thread overview]
Message-ID: <5b333571-7fa8-4581-9f9c-e5546590cbd9@kernel.org> (raw)
In-Reply-To: <175250123216.21445.8438057789120013393@lain.khirnov.net>

Hi,

On 14-Jul-25 15:53, Anton Khirnov wrote:
> Quoting Hans de Goede (2025-07-14 15:27:58)
>>>> Based on other laptops I would expect this to maybe need to be
>>>> KEY_KBDILLUMTOGGLE, which toggles the kbd backlight on/off ?
>>>
>>> Keyboard backlight is Fn+F7 on this laptop. That said, I'm fine with any
>>> key that is acceptable to you and/or other maintainers.
>>
>> Ok, so no KEY_KBDILLUMTOGGLE then if that already is at Fn+F7
>>
>> So lets stick with a KEY_PROG# option here,
>> note asus-nb-wmi already used PROG# for:
>>
>>         { KE_KEY, 0x38, { KEY_PROG3 } }, /* Armoury Crate */
>>         { KE_KEY, 0x86, { KEY_PROG1 } }, /* MyASUS Key */
>>         { KE_KEY, 0xB3, { KEY_PROG4 } }, /* AURA */
>>         { KE_KEY, 0xFA, { KEY_PROG2 } }, /* Lid flip action */
>>         { KE_KEY, 0xBD, { KEY_PROG2 } }, /* Lid flip action on ROG xflow */
>>  
>> I guess you checked that this laptop does not send the 0x83 / "Armoury Crate"
>> events? What about 0x86 / "MyAsus"? If there is no MyAsus key I would prefer
>> to use KEY_PROG1 here.
> 
> That is sent by this laptop as Fn+F12, which is why I started at PROG2.
> 
>> Or you can add a KEY_FN_SPACE to input-event-codes.h grouping it together
>> with the existing Fn + X combos there.
> 
> I wasn't sure how big of a deal adding new KEY_ values is. If that isn't
> too much of a hassle, I can do that and that takes care of Fn+space/f
> consistently.

It shouldn't be too much of a hassle and it indeed would be consistent,
so that sounds good.

> 
>>>>> +	{ KE_KEY, 0xCA, { KEY_F14 } }, /* Noise cancelling on Expertbook B9 */
>>>>
>>>> KEY_SOUND ?
>>>
>>> Can do, but then what about the fn+ version? Ideally they should be
>>> related.
>>
>> Hmm, can use KEY_PROG3 + KEY_PROG4, assuming that the Fn+ spacebar becomes
>> KEY_PROG1 and that KEY_PROG3 / PROG4 are otherwise free ?
>>
>> If not then why start at KEY_F14 and not at KEY_F13, does this laptop's
>> keyboard has a key which sends:
>>
>>
>>         { KE_KEY, 0x71, { KEY_F13 } }, /* General-purpose button */
>>
>> Also are there no conflicts with some of the other entries which send
>> F14 / F15 ?
>>
>> As in no other keys which generate the existing codes mapped
>> to F13 / F14 / F15 ?
> 
> The reason I picked F14 is that the key is physically located two keys
> to the right of F12.

> do either F13/F14, or PROG2/3.

Lets do F13/F14 then.



> 
> For posterity, here's a list of all codes sent by this laptop:
> * {up,down,left,right}: ACPI button/{up,down,left,right} (in addition to normal ATK event)
> * fn-{up,down,left,right}: ATK {PgUp,PgDown,Home,End}
> * copilot key (right of AltGr): ATK shift+win+F17
>   press+release (immediately, releasing the physical key does nothing)
> * fn-lctrl: ATK compose (menu)
> * fn-space: WMI unknown key 0x5b
> * fn-b: ATK pause (scancode 0xc5)
> * fn-p: ATK pause (scancode 0xc6)
> * fn-k: ATK scrolllock
> * fn-f: WMI unknown key 0x9d (supposed to be "asus intelligent performance")
> * fn-a: no event visible anywhere
> * fn-esc: toggles between fn/f keys being primary, sends no visible keys except ACPI event
> * fn-(1-4): WMI scancode 0x61-0x64 (switch video mode);
>   also ACPI video/switchmode event identical for all 4 keys
> * fn-(f1/f2/f3): ATK mute/voldown/volup + ACPI button/{mute,volumedown,volumeup}
> * fn-f4/f5: ACPI brightness down/up
> * fn-f6: WMI scancode 0x6b - F21
> * fn-f7: keyboard backlight, sends no visible keys anywhere except ACPI event
> * fn-f8: ATK win+p
> * fn-f9: ATK win+l
> * fn-f10: no event visible anywhere
> * fn-f11: ATK win+shift+s
> * fn-f12: WMI prog1 (scancode 0x86) + ACPI button/prog1
> * mic-mute: WMI F20 (scancode 0xbe) + ACPI button/f20
> * mic noise key (right of mic-mute): WMI scancode 0xca; fn- sends 0xcb
> * fn-del: insert

Thank you.

Regards,

Hans



      reply	other threads:[~2025-07-14 14:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-02  7:02 Anton Khirnov
2025-07-14 12:23 ` Anton Khirnov
2025-07-14 12:34 ` Hans de Goede
2025-07-14 12:57   ` Anton Khirnov
2025-07-14 13:27     ` Hans de Goede
2025-07-14 13:53       ` Anton Khirnov
2025-07-14 14:10         ` Hans de Goede [this message]

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=5b333571-7fa8-4581-9f9c-e5546590cbd9@kernel.org \
    --to=hansg@kernel.org \
    --cc=anton@khirnov.net \
    --cc=corentin.chary@gmail.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luke@ljones.dev \
    --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

all inboxes | Powered by JetHome®