Re: [ibm-acpi-devel] [PATCH] thinkpad_acpi: unhandled hkey event
On Sat, Jan 31, 2015 at 07:52:03PM +0100, Xavier Naveira wrote: > Pressing Fn+Esc in a Lenovo Thinkpad x240 to lock the Fn keys generates > an unhandled hkey event > > Signed-off-by: Xavier Naveira > --- > drivers/platform/x86/thinkpad_acpi.c | 7 +++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/platform/x86/thinkpad_acpi.c > b/drivers/platform/x86/thinkpad_acpi.c > index c3d11fa..e61c43b 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -196,6 +196,7 @@ enum tpacpi_hkey_event_t { > /* Key-related user-interface events */ > TP_HKEY_EV_KEY_NUMLOCK = 0x6000, /* NumLock key pressed */ > TP_HKEY_EV_KEY_FN = 0x6005, /* Fn key pressed? E420 */ > + TP_HKEY_EV_KEY_FN_ESC = 0x6060, /* Fn+Esc key pressed X240 */ > > /* Thermal events */ > TP_HKEY_EV_ALARM_BAT_HOT= 0x6011, /* battery too hot */ > @@ -3717,6 +3718,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, > *send_acpi_ev = false; > *ignore_acpi_ev = true; > return true; > + case TP_HKEY_EV_KEY_FN_ESC: > + /* key press events, we just ignore them as long as the EC > + * is still reporting them in the normal keyboard stream */ > + *send_acpi_ev = false; > + *ignore_acpi_ev = true; > + return true; No need to duplicate the logic here, just add TP_HKEY_EV_KEY_FN_ESC to the list of fallthrough keys (right after TP_HKEY_EV_KEY_FN). -- Darren Hart Intel Open Source Technology Center -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel
Re: [ibm-acpi-devel] [PATCH] thinkpad_acpi: unhandled hkey event
On Mon, Feb 09, 2015 at 08:44:26PM +0100, Xavier Naveira wrote: > On 2015-02-07 05:22, Darren Hart wrote: > >On Sat, Jan 31, 2015 at 07:52:03PM +0100, Xavier Naveira wrote: > >>Pressing Fn+Esc in a Lenovo Thinkpad x240 to lock the Fn keys generates > >>an unhandled hkey event > >> > >>Signed-off-by: Xavier Naveira > >>--- > >> drivers/platform/x86/thinkpad_acpi.c | 7 +++ > >> 1 file changed, 7 insertions(+) > >> > >>diff --git a/drivers/platform/x86/thinkpad_acpi.c > >>b/drivers/platform/x86/thinkpad_acpi.c > >>index c3d11fa..e61c43b 100644 > >>--- a/drivers/platform/x86/thinkpad_acpi.c > >>+++ b/drivers/platform/x86/thinkpad_acpi.c > >>@@ -196,6 +196,7 @@ enum tpacpi_hkey_event_t { > >>/* Key-related user-interface events */ > >>TP_HKEY_EV_KEY_NUMLOCK = 0x6000, /* NumLock key pressed */ > >>TP_HKEY_EV_KEY_FN = 0x6005, /* Fn key pressed? E420 */ > >>+ TP_HKEY_EV_KEY_FN_ESC = 0x6060, /* Fn+Esc key pressed X240 */ > >> > >>/* Thermal events */ > >>TP_HKEY_EV_ALARM_BAT_HOT= 0x6011, /* battery too hot */ > >>@@ -3717,6 +3718,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, > >>*send_acpi_ev = false; > >>*ignore_acpi_ev = true; > >>return true; > >>+ case TP_HKEY_EV_KEY_FN_ESC: > >>+ /* key press events, we just ignore them as long as the EC > >>+* is still reporting them in the normal keyboard stream */ > >>+ *send_acpi_ev = false; > >>+ *ignore_acpi_ev = true; > >>+ return true; > > > >No need to duplicate the logic here, just add TP_HKEY_EV_KEY_FN_ESC to the > >list > >of fallthrough keys (right after TP_HKEY_EV_KEY_FN). > > > I don't see the list that you are referring to? Just before where you add the new case, there is: /* fallthrough */ case TP_HKEY_EV_KEY_NUMLOCK: case TP_HKEY_EV_KEY_FN: /* key press events, we just ignore them as long as the EC * is still reporting them in the normal keyboard stream */ *send_acpi_ev = false; *ignore_acpi_ev = true; return true; You should just be able to do: case TP_HKEY_EV_KEY_FN: + case TP_HKEY_EV_KEY_FN_ESC: Rather than duplicating the same logic below a new case block. -- Darren Hart Intel Open Source Technology Center -- Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel
Re: [ibm-acpi-devel] [PATCH] thinkpad_acpi: unhandled hkey event
On 2015-02-07 05:22, Darren Hart wrote: > On Sat, Jan 31, 2015 at 07:52:03PM +0100, Xavier Naveira wrote: >> Pressing Fn+Esc in a Lenovo Thinkpad x240 to lock the Fn keys generates >> an unhandled hkey event >> >> Signed-off-by: Xavier Naveira >> --- >> drivers/platform/x86/thinkpad_acpi.c | 7 +++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/drivers/platform/x86/thinkpad_acpi.c >> b/drivers/platform/x86/thinkpad_acpi.c >> index c3d11fa..e61c43b 100644 >> --- a/drivers/platform/x86/thinkpad_acpi.c >> +++ b/drivers/platform/x86/thinkpad_acpi.c >> @@ -196,6 +196,7 @@ enum tpacpi_hkey_event_t { >> /* Key-related user-interface events */ >> TP_HKEY_EV_KEY_NUMLOCK = 0x6000, /* NumLock key pressed */ >> TP_HKEY_EV_KEY_FN = 0x6005, /* Fn key pressed? E420 */ >> +TP_HKEY_EV_KEY_FN_ESC = 0x6060, /* Fn+Esc key pressed X240 */ >> >> /* Thermal events */ >> TP_HKEY_EV_ALARM_BAT_HOT= 0x6011, /* battery too hot */ >> @@ -3717,6 +3718,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, >> *send_acpi_ev = false; >> *ignore_acpi_ev = true; >> return true; >> +case TP_HKEY_EV_KEY_FN_ESC: >> +/* key press events, we just ignore them as long as the EC >> + * is still reporting them in the normal keyboard stream */ >> +*send_acpi_ev = false; >> +*ignore_acpi_ev = true; >> +return true; > > No need to duplicate the logic here, just add TP_HKEY_EV_KEY_FN_ESC to the > list > of fallthrough keys (right after TP_HKEY_EV_KEY_FN). > I don't see the list that you are referring to? -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel
[ibm-acpi-devel] [PATCH] thinkpad_acpi: unhandled hkey event
Pressing Fn+Esc in a Lenovo Thinkpad x240 to lock the Fn keys generates an unhandled hkey event Signed-off-by: Xavier Naveira --- drivers/platform/x86/thinkpad_acpi.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index c3d11fa..e61c43b 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -196,6 +196,7 @@ enum tpacpi_hkey_event_t { /* Key-related user-interface events */ TP_HKEY_EV_KEY_NUMLOCK = 0x6000, /* NumLock key pressed */ TP_HKEY_EV_KEY_FN = 0x6005, /* Fn key pressed? E420 */ + TP_HKEY_EV_KEY_FN_ESC = 0x6060, /* Fn+Esc key pressed X240 */ /* Thermal events */ TP_HKEY_EV_ALARM_BAT_HOT= 0x6011, /* battery too hot */ @@ -3717,6 +3718,12 @@ static bool hotkey_notify_6xxx(const u32 hkey, *send_acpi_ev = false; *ignore_acpi_ev = true; return true; + case TP_HKEY_EV_KEY_FN_ESC: + /* key press events, we just ignore them as long as the EC +* is still reporting them in the normal keyboard stream */ + *send_acpi_ev = false; + *ignore_acpi_ev = true; + return true; default: pr_warn("unknown possible thermal alarm or keyboard event received\n"); -- 2.1.0 -- Dive into the World of Parallel Programming. The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel