Message ID | 7c072721-1bd8-4921-b759-70bafb2ec894@rwthex-w2-a.rwth-ad.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, 2017-11-09 at 23:44 +0100, Stefan Brüns wrote: > The Lenovo Helix 2 and Dell XPS 12 (9Q33) have an extra button on the > front showing a 'Windows' logo, both reporting event codes 0xC2/0xC3 > on press/release. On the Dell, both press/release are distinct events > while on the Helix 2 both events are generated on release. > > Tested on XPS 12, for info on the Helix 2 see: > https://www.spinics.net/lists/ibm-acpi-devel/msg03982.html > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> Same problem as mentioned in patch 3. Pretty sure you need to set the Windows key release to KEY_IGNORE. Or better, teach the intel-vbtn driver which buttons should be autoreleased, and which ones should send key presses and key releases separately. This would allow handling long presses in the upper layers. > --- > > Changes in v2: > - Emit KEY_LEFTMETA instead of KEY_MENU > > drivers/platform/x86/intel-vbtn.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/platform/x86/intel-vbtn.c > b/drivers/platform/x86/intel-vbtn.c > index a484bcc6393b..0861efe490d0 100644 > --- a/drivers/platform/x86/intel-vbtn.c > +++ b/drivers/platform/x86/intel-vbtn.c > @@ -38,6 +38,8 @@ static const struct acpi_device_id intel_vbtn_ids[] > = { > static const struct key_entry intel_vbtn_keymap[] = { > { KE_KEY, 0xC0, { KEY_POWER } }, /* power key press > */ > { KE_IGNORE, 0xC1, { KEY_POWER } }, /* power key > release */ > + { KE_KEY, 0xC2, { KEY_LEFTMETA } }, /* > 'Windows' key press */ > + { KE_KEY, 0xC3, { KEY_LEFTMETA } }, /* > 'Windows' key release */ > { KE_KEY, 0xC4, { KEY_VOLUMEUP } }, /* > volume-up key press */ > { KE_IGNORE, 0xC5, { KEY_VOLUMEUP } }, /* > volume-up key release */ > { KE_KEY, 0xC6, { KEY_VOLUMEDOWN } }, /* > volume-down key press */ -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Friday, November 10, 2017 12:40:33 AM CET Bastien Nocera wrote: > On Thu, 2017-11-09 at 23:44 +0100, Stefan Brüns wrote: > > The Lenovo Helix 2 and Dell XPS 12 (9Q33) have an extra button on the > > front showing a 'Windows' logo, both reporting event codes 0xC2/0xC3 > > on press/release. On the Dell, both press/release are distinct events > > while on the Helix 2 both events are generated on release. > > > > Tested on XPS 12, for info on the Helix 2 see: > > https://www.spinics.net/lists/ibm-acpi-devel/msg03982.html > > > > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> > > Same problem as mentioned in patch 3. Pretty sure you need to set the > Windows key release to KEY_IGNORE. > > Or better, teach the intel-vbtn driver which buttons should be > autoreleased, and which ones should send key presses and key releases > separately. This would allow handling long presses in the upper layers. First, I explicitly mentioned on the XPS 12, press/release are distinct events. Care to read? Second, if you read patch 2/5, you see support for press/release vs autorelease. Regards, Stefan
diff --git a/drivers/platform/x86/intel-vbtn.c b/drivers/platform/x86/intel-vbtn.c index a484bcc6393b..0861efe490d0 100644 --- a/drivers/platform/x86/intel-vbtn.c +++ b/drivers/platform/x86/intel-vbtn.c @@ -38,6 +38,8 @@ static const struct acpi_device_id intel_vbtn_ids[] = { static const struct key_entry intel_vbtn_keymap[] = { { KE_KEY, 0xC0, { KEY_POWER } }, /* power key press */ { KE_IGNORE, 0xC1, { KEY_POWER } }, /* power key release */ + { KE_KEY, 0xC2, { KEY_LEFTMETA } }, /* 'Windows' key press */ + { KE_KEY, 0xC3, { KEY_LEFTMETA } }, /* 'Windows' key release */ { KE_KEY, 0xC4, { KEY_VOLUMEUP } }, /* volume-up key press */ { KE_IGNORE, 0xC5, { KEY_VOLUMEUP } }, /* volume-up key release */ { KE_KEY, 0xC6, { KEY_VOLUMEDOWN } }, /* volume-down key press */
The Lenovo Helix 2 and Dell XPS 12 (9Q33) have an extra button on the front showing a 'Windows' logo, both reporting event codes 0xC2/0xC3 on press/release. On the Dell, both press/release are distinct events while on the Helix 2 both events are generated on release. Tested on XPS 12, for info on the Helix 2 see: https://www.spinics.net/lists/ibm-acpi-devel/msg03982.html Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de> --- Changes in v2: - Emit KEY_LEFTMETA instead of KEY_MENU drivers/platform/x86/intel-vbtn.c | 2 ++ 1 file changed, 2 insertions(+)