lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <175249787152.21445.16925102541286211351@lain.khirnov.net>
Date: Mon, 14 Jul 2025 14:57:51 +0200
From:  Anton Khirnov <anton@...rnov.net>
To:  Corentin Chary <corentin.chary@...il.com>,
 "Luke D. Jones" <luke@...nes.dev>,
 Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
 Hans de Goede <hansg@...nel.org>
Cc:  platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject:  Re: [PATCH] platform/x86: asus-wmi: map more keys on ExpertBook B9

Hi Hans,
Quoting Hans de Goede (2025-07-14 14:34:04)
> Hi,
> 
> On 2-Jul-25 09:02, Anton Khirnov wrote:
> > * there is a dedicated "noise cancel" key in top row, between mic mute
> >   and PrintScreen; it sends 0xCA when pressed by itself (mapped to F14),
> >   0xCB with Fn (mapped to F15)
> > * Fn+f sends 0x9D; it is not documented in the manual, but some web
> >   search results mention "asus intelligent performance"; mapped to PROG2
> > * Fn+space sends 0x5B; it is not documented or mentioned anywhere I
> >   could find; mapped to PROG3
> > 
> > Signed-off-by: Anton Khirnov <anton@...rnov.net>
> > ---
> >  drivers/platform/x86/asus-nb-wmi.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/platform/x86/asus-nb-wmi.c b/drivers/platform/x86/asus-nb-wmi.c
> > index 3f8b2a324efd..42d7b435ba63 100644
> > --- a/drivers/platform/x86/asus-nb-wmi.c
> > +++ b/drivers/platform/x86/asus-nb-wmi.c
> > @@ -573,6 +573,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
> >  	{ KE_KEY, 0x55, { KEY_CALC } },
> >  	{ KE_IGNORE, 0x57, },  /* Battery mode */
> >  	{ KE_IGNORE, 0x58, },  /* AC mode */
> > +	{ KE_KEY, 0x5B, { KEY_PROG3 } }, /* Fn+space */
> 
> What is this key-combo supposed to do, is there any icon for this on
> the spacebar? What does it do under Windows?

I don't have Windows installed, so I cannot test what any of these keys
do there.

I searched the web for any mentions of this key combination and found
nothing whatsoever, the manual is also silent. But it does generate an
event, so it seemed reasonable to make use of it.

> 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.

> 
> >  	{ KE_KEY, 0x5C, { KEY_F15 } },  /* Power Gear key */
> 
> Why KEY_F15, Why not some other KEY_ ? Generally speaking
> the key-code send should match the intended purpose of
> they key / key-combo. E.g. If the button opens
> the control-panel under Windows use KEY_CONTROLPANEL

Err I'm not doing anything to this one.

> > @@ -609,6 +610,7 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
> >  	{ KE_KEY, 0x93, { KEY_SWITCHVIDEOMODE } }, /* SDSP LCD + CRT + TV + DVI */
> >  	{ KE_KEY, 0x95, { KEY_MEDIA } },
> >  	{ KE_KEY, 0x99, { KEY_PHONE } }, /* Conflicts with fan mode switch */
> > +	{ KE_KEY, 0X9D, { KEY_PROG2 } }, /* Fn+f */
> 
> Same remark as on the other keys. what does this do under Windows ?

As per above, cannot test. But in this case a web search suggests that
(on some other Asus laptop) it switches between performance profiles.

> > @@ -623,6 +625,8 @@ static const struct key_entry asus_nb_wmi_keymap[] = {
> >  	{ KE_IGNORE, 0xC0, }, /* External display connect/disconnect notification */
> >  	{ KE_KEY, 0xC4, { KEY_KBDILLUMUP } },
> >  	{ KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } },
> > +	{ 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.

> > +	{ KE_KEY, 0xCB, { KEY_F15 } }, /* Fn+noise-cancel */
> 
> What does Fn + noise-cancel do under Windows ?

As per the manual:

  Built-in microphone: Toggles between single presenter conference call
                       mode or multi presenter conference call mode.
  External microphone: Toggles ASUS AI Noise-Canceling.

Thanks for the review,
-- 
Anton Khirnov

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ