From: "Pali Rohár" <pali@kernel.org>
To: Mario.Limonciello@dell.com
Cc: rdunlap@infradead.org, y.linux@paritcher.com,
linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, mjg59@srcf.ucam.org
Subject: Re: [PATCH v2 3/3] platform/x86: dell-wmi: add new dmi keys to bios_to_linux_keycode
Date: Fri, 12 Jun 2020 16:14:10 +0200 [thread overview]
Message-ID: <20200612141410.7sp7brcmgcel3bfc@pali> (raw)
In-Reply-To: <a7b5dd31dd32461aad51e08d38777edf@AUSX13MPC105.AMER.DELL.COM>
On Wednesday 10 June 2020 12:35:09 Mario.Limonciello@dell.com wrote:
> > -----Original Message-----
> > From: platform-driver-x86-owner@vger.kernel.org <platform-driver-x86-
> > owner@vger.kernel.org> On Behalf Of Pali Rohár
> > Sent: Wednesday, June 10, 2020 4:45 AM
> > To: Limonciello, Mario
> > Cc: rdunlap@infradead.org; y.linux@paritcher.com; linux-
> > kernel@vger.kernel.org; platform-driver-x86@vger.kernel.org;
> > mjg59@srcf.ucam.org
> > Subject: Re: [PATCH v2 3/3] platform/x86: dell-wmi: add new dmi keys to
> > bios_to_linux_keycode
> >
> >
> > [EXTERNAL EMAIL]
> >
> > On Tuesday 09 June 2020 19:49:18 Mario.Limonciello@dell.com wrote:
> > > >
> > > > Looking at the last two lines... and for me it looks like that 0x00FF
> > > > and 0xFFFF are just "placeholders" or special values for unknown /
> > > > custom / unsupported / reserved / special / ... codes.
> > > >
> > > > It is really suspicious why first 38 values are defined, then there is
> > > > gap, then one value 255 and then huge gap to 65535.
> > > >
> > > > Mario, this looks like some mapping table between internal Dell BIOS
> > key
> > > > code and standard Linux key code. Are you able to get access to some
> > > > documentation which contains explanation of those Dell key numbers?
> > > > It could really help us to understand these gaps and what is correct
> > > > interpretation of these numbers.
> > > >
> > >
> > > The codes are actually 4 bytes in the table, but in practice nothing
> > above the
> > > first two bytes is used.
> > >
> > > Those two called out are special though, here are their meanings:
> > >
> > > 0x00FF is user programmable function
> > > 0xFFFF is no function
> > >
> > > For the purpose of memory consumption I think it's reasonable to ignore
> > the
> > > upper 2 bytes and special case these two.
> >
> > Thank you for information!
> >
> > So 0x00FF is "user programmable" button. Do I understand it correctly
> > that Dell/BIOS does not explicitly provide meaning for these buttons,
> > they do not have fixed functionality and therefore user should configure
> > them as he want?
>
> Correct
>
> >
> > And what does mean "no function"? I do not know what should I imagine if
> > I receive key press marked as "no function".
>
> It means no action is expected to occur, should behave like a no-op. I think
> discarding it makes fine sense.
Thank you! This was missing bit of information.
Just I'm curious, why firmware sends "no-op" event which we could ignore? :D
I can imagine that those events / scan codes may contain some
information which we can use...
> >
> > > > E.g. I remember that pressing Fn+Q or Fn+W on some Dell Latitude
> > > > generates code 255, which could prove my thesis about "special codes"
> > > > (which are probably not found in e.g. Windows or Linux mapping tables).
> > > >
> > > > > > };
> > > > > >
> > > > > > /*
> > > > > > @@ -503,10 +504,7 @@ static void handle_dmi_entry(const struct
> > > > dmi_header *dm, void *opaque)
> > > > > > &table->keymap[i];
> > > > > >
> > > > > > /* Uninitialized entries are 0 aka KEY_RESERVED. */
> > > > > > - u16 keycode = (bios_entry->keycode <
> > > > > > - ARRAY_SIZE(bios_to_linux_keycode)) ?
> > > > > > - bios_to_linux_keycode[bios_entry->keycode] :
> > > > > > - KEY_RESERVED;
> > > > > > + u16 keycode = bios_to_linux_keycode[bios_entry->keycode];
> > > > > >
> > > > > > /*
> > > > > > * Log if we find an entry in the DMI table that we don't
> > > > > >
> > > > >
> > > > > Something like:
> > > > >
> > > > > u16 keycode;
> > > > >
> > > > > keycode = bios_entry->keycode == 0xffff ? KEY_UNKNOWN :
> > > > > (bios_entry->keycode <
> > > > > ARRAY_SIZE(bios_to_linux_keycode)) ?
> > > > > bios_to_linux_keycode[bios_entry->keycode] :
> > > > > KEY_RESERVED;
> > > > >
> > > > >
> > > > >
> > > > > Also please fix this:
> > > > > (no To-header on input) <>
> > > >
> > > > Hint: specifying git send-email with '--to' argument instead of '--cc'
> > > > should help.
> > > >
> > > > >
> > > > > --
> > > > > ~Randy
> > > > >
next prev parent reply other threads:[~2020-06-12 14:14 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-08 4:22 [PATCH 0/3] platform/x86: dell-wmi: new keys Y Paritcher
2020-06-08 4:22 ` [PATCH 1/3] platform/x86: dell-wmi: add new backlight events Y Paritcher
2020-06-08 8:35 ` Pali Rohár
2020-06-08 15:30 ` Mario.Limonciello
2020-06-08 20:11 ` Y Paritcher
2020-06-08 20:14 ` Mario.Limonciello
2020-06-08 20:36 ` Pali Rohár
2020-06-08 20:38 ` Mario.Limonciello
2020-06-08 4:22 ` [PATCH 2/3] platform/x86: dell-wmi: add new keymap type 0x0012 Y Paritcher
2020-06-08 8:50 ` Pali Rohár
2020-06-08 20:12 ` Y Paritcher
2020-06-08 15:40 ` Mario.Limonciello
2020-06-08 20:12 ` Y Paritcher
2020-06-08 20:30 ` Pali Rohár
2020-06-08 20:36 ` Mario.Limonciello
2020-06-08 21:03 ` Y Paritcher
2020-06-08 22:00 ` Mario.Limonciello
2020-06-08 22:53 ` Y Paritcher
2020-06-09 10:44 ` Hans de Goede
2020-06-09 15:36 ` Mario.Limonciello
2020-06-09 16:14 ` Hans de Goede
2020-06-09 19:41 ` Mario.Limonciello
2020-06-09 15:49 ` Pali Rohár
2020-06-09 16:45 ` Sebastian Reichel
2020-06-09 16:59 ` Hans de Goede
2020-06-19 15:31 ` Sebastian Reichel
2020-06-19 17:26 ` Mario.Limonciello
2020-06-09 8:04 ` Pali Rohár
2020-06-08 4:22 ` [PATCH 3/3] platform/x86: dell-wmi: add keys to bios_to_linux_keycode Y Paritcher
2020-06-08 6:36 ` kernel test robot
2020-06-08 7:36 ` kernel test robot
2020-06-08 9:00 ` Pali Rohár
2020-06-08 15:46 ` Mario.Limonciello
2020-06-08 20:12 ` Y Paritcher
2020-06-08 20:48 ` Pali Rohár
2020-06-08 20:58 ` Mario.Limonciello
2020-06-09 8:27 ` Pali Rohár
2020-06-08 23:05 ` [PATCH v2 0/3] platform/x86: dell-wmi: new keys Y Paritcher
2020-06-08 23:05 ` [PATCH v2 1/3] platform/x86: dell-wmi: add new backlight events Y Paritcher
2020-06-08 23:24 ` Pali Rohár
2020-06-08 23:05 ` [PATCH v2 2/3] platform/x86: dell-wmi: add new keymap type 0x0012 Y Paritcher
2020-06-08 23:33 ` Pali Rohár
2020-06-09 0:26 ` Mario.Limonciello
2020-06-09 0:57 ` Y Paritcher
2020-06-09 8:40 ` Pali Rohár
2020-06-09 8:50 ` Pali Rohár
2020-06-08 23:05 ` [PATCH v2 3/3] platform/x86: dell-wmi: add new dmi keys to bios_to_linux_keycode Y Paritcher
2020-06-08 23:27 ` Randy Dunlap
2020-06-08 23:55 ` Pali Rohár
2020-06-09 0:43 ` Y Paritcher
2020-06-09 8:35 ` Pali Rohár
2020-06-09 19:49 ` Mario.Limonciello
2020-06-10 9:44 ` Pali Rohár
2020-06-10 12:35 ` Mario.Limonciello
2020-06-12 14:14 ` Pali Rohár [this message]
2020-06-12 14:59 ` Mario.Limonciello
2020-06-09 3:52 ` [PATCH v3 0/3] platform/x86: dell-wmi: new keys Y Paritcher
2020-06-09 3:52 ` [PATCH v3 1/3] platform/x86: dell-wmi: add new backlight events Y Paritcher
2020-06-09 16:02 ` Mario.Limonciello
2020-06-09 3:52 ` [PATCH v3 2/3] platform/x86: dell-wmi: add new keymap type 0x0012 Y Paritcher
2020-06-09 3:52 ` [PATCH v3 3/3] platform/x86: dell-wmi: add new dmi mapping for keycode 0xffff Y Paritcher
2020-06-09 9:19 ` Pali Rohár
2020-06-10 17:56 ` [PATCH v4 0/3] platform/x86: dell-wmi: new keys Y Paritcher
2020-06-10 17:56 ` [PATCH v4 1/3] platform/x86: dell-wmi: add new backlight events Y Paritcher
2020-06-10 17:56 ` [PATCH v4 2/3] platform/x86: dell-wmi: add new keymap type 0x0012 Y Paritcher
2020-06-10 17:56 ` [PATCH v4 3/3] platform/x86: dell-wmi: add new dmi mapping for keycode 0xffff Y Paritcher
2020-06-10 19:22 ` [PATCH v4 0/3] platform/x86: dell-wmi: new keys Mario.Limonciello
2020-07-09 19:29 ` Andy Shevchenko
2020-07-13 7:29 ` Pali Rohár
2020-08-14 8:10 ` Pali Rohár
2020-06-12 14:09 ` Pali Rohár
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=20200612141410.7sp7brcmgcel3bfc@pali \
--to=pali@kernel.org \
--cc=Mario.Limonciello@dell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rdunlap@infradead.org \
--cc=y.linux@paritcher.com \
/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;
as well as URLs for NNTP newsgroup(s).