ec/lenovo/h8/acpi: Add alternative Fn-F2 and Fn-F3 layout

thinkpad_acpi maps the battery hotkey (KEY_BATTERY) on scancode 0x01 and
the lock hotkey (KEY_COFFEE) on scancode 0x02.

On the Thinkpad X1 Carbon (and possibly others), the hotkeys for Fn-F2
and Fn-F3 are different from the default one so a new layout has to be
defined.

Change-Id: Ib2d96be1a7815d7d03e6e8c6d300fd671c8598ca
Signed-off-by: Nicola Corna <nicola@corna.info>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31470
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
This commit is contained in:
Nicola Corna
2019-02-18 17:44:18 +01:00
committed by Patrick Georgi
parent 8407d4f12e
commit fab9ae8167
2 changed files with 22 additions and 0 deletions

View File

@@ -195,6 +195,26 @@ Device(EC)
^HKEY.RHK (0x01) ^HKEY.RHK (0x01)
} }
/*
* Alternative layout (like in the Thinkpad X1 Carbon 1st generation):
* * Fn-F2 (_Q11) -> not mapped
* * Fn-F3 (_Q12) -> scancode 0x01 (KEY_COFFEE)
*
* Default layout (like in the Thinkpad X220):
* * Fn-F2 (_Q11) -> scancode 0x01 (KEY_COFFEE)
* * Fn-F3 (_Q12) -> scancode 0x02 (KEY_BATTERY)
*/
#ifdef EC_LENOVO_H8_ALT_FN_F2F3_LAYOUT
Method (_Q11, 0, NotSerialized)
{
// Not mapped
}
Method (_Q12, 0, NotSerialized)
{
^HKEY.RHK (0x02)
}
#else
Method (_Q11, 0, NotSerialized) Method (_Q11, 0, NotSerialized)
{ {
^HKEY.RHK (0x02) ^HKEY.RHK (0x02)
@@ -204,6 +224,7 @@ Device(EC)
{ {
^HKEY.RHK (0x03) ^HKEY.RHK (0x03)
} }
#endif
Method (_Q64, 0, NotSerialized) Method (_Q64, 0, NotSerialized)
{ {

View File

@@ -20,6 +20,7 @@
#define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.DECB #define BRIGHTNESS_DOWN \_SB.PCI0.GFX0.DECB
#define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0 #define ACPI_VIDEO_DEVICE \_SB.PCI0.GFX0
#define EC_LENOVO_H8_ME_WORKAROUND 1 #define EC_LENOVO_H8_ME_WORKAROUND 1
#define EC_LENOVO_H8_ALT_FN_F2F3_LAYOUT 1
#include <arch/acpi.h> #include <arch/acpi.h>
DefinitionBlock( DefinitionBlock(