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: 98+ 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 ` Y Paritcher
2020-06-08 4:22 ` [PATCH 1/3] platform/x86: dell-wmi: add new backlight events Y Paritcher
2020-06-08 4:22 ` Y Paritcher
2020-06-08 8:35 ` Pali Rohár
2020-06-08 15:30 ` Mario.Limonciello
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:14 ` Mario.Limonciello
2020-06-08 20:36 ` Pali Rohár
2020-06-08 20:38 ` Mario.Limonciello
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 4:22 ` 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 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 20:36 ` Mario.Limonciello
2020-06-08 21:03 ` Y Paritcher
2020-06-08 22:00 ` Mario.Limonciello
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 15:36 ` Mario.Limonciello
2020-06-09 16:14 ` Hans de Goede
2020-06-09 19:41 ` Mario.Limonciello
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-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 4:22 ` Y Paritcher
2020-06-08 6:36 ` kernel test robot
2020-06-08 6:36 ` kernel test robot
2020-06-08 7: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 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-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 ` 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:05 ` 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:05 ` Y Paritcher
2020-06-08 23:33 ` Pali Rohár
2020-06-09 0:26 ` Mario.Limonciello
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:05 ` 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-09 19:49 ` Mario.Limonciello
2020-06-10 9:44 ` Pali Rohár
2020-06-10 12:35 ` Mario.Limonciello
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-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 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-06-10 19:22 ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.