Skip to contentSkip to conversation

platform/x86: thinkpad_acpi: Add support for calculator hotkey

PATCH Superseded Benjamin Berg 2 participants 4 messages Jun 19, 2018 – Jun 20, 2018 3 messages not in the archive x86 platform drivers

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 platform/x86: thinkpad_acpi: Add support for calculator hotkey

The P52 has a keyboard which features a calculator key above the numpad. Add support for this the calculator key (0x1313).

---
 drivers/platform/x86/thinkpad_acpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/platform/x86/thinkpad_acpi.c +2 -2
index cae9b0595692..6c979fe44ea7 100644
@@ -1928,7 +1928,7 @@ enum {	/* hot key scan codes (derived from ACPI DSDT) */
 	/* first new observed key (star, favorites) is 0x1311 */
 	TP_ACPI_HOTKEYSCAN_STAR = 69,
 	TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2,
-	TP_ACPI_HOTKEYSCAN_UNK25,
+	TP_ACPI_HOTKEYSCAN_CALCULATOR,
 	TP_ACPI_HOTKEYSCAN_BLUETOOTH,
 	TP_ACPI_HOTKEYSCAN_KEYBOARD,
 
@@ -3449,7 +3449,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
 
 		KEY_FAVORITES,       /* Favorite app, 0x311 */
 		KEY_RESERVED,        /* Clipping tool */
-		KEY_RESERVED,
+		KEY_CALC,            /* Calculator (above numpad), 0x313 */
 		KEY_BLUETOOTH,       /* Bluetooth */
 		KEY_KEYBOARD         /* Keyboard, 0x315 */
 		},
Signature · 6 lines
2.17.1


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

A message that is not in the archive (sent off-list or not yet received): 20180619155152.4984-1-bberg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org

#2 lore raw
Quoted 22 lines · Benjamin Berg

The P52 has a keyboard which features a calculator key above the numpad. Add support for this the calculator key (0x1313).

---
 drivers/platform/x86/thinkpad_acpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/platform/x86/thinkpad_acpi.c +1 -1
index cae9b0595692..6c979fe44ea7 100644
@@ -1928,7 +1928,7 @@ enum {	/* hot key scan codes (derived from ACPI DSDT) */
 	/* first new observed key (star, favorites) is 0x1311 */
 	TP_ACPI_HOTKEYSCAN_STAR = 69,
 	TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2,
-	TP_ACPI_HOTKEYSCAN_UNK25,
+	TP_ACPI_HOTKEYSCAN_CALCULATOR,
 	TP_ACPI_HOTKEYSCAN_BLUETOOTH,
 	TP_ACPI_HOTKEYSCAN_KEYBOARD,
 

drivers/platform/x86/thinkpad_acpi.c static int __init hotkey_init(struct ibm_init_struct *iibm) · line 3452

Quoted 5 lines
drivers/platform/x86/thinkpad_acpi.c +1 -1
@@ -3449,7 +3449,7 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
 
 		KEY_FAVORITES,       /* Favorite app, 0x311 */
 		KEY_RESERVED,        /* Clipping tool */
-		KEY_RESERVED,
+		KEY_CALC,            /* Calculator (above numpad), 0x313 */

Replace 0x313 with (P52) please.

Other than that,

That said, it would be nice to know if other models also have this hotkey, especially if it has a different meaning (in which case we just special-case the keymap in the driver, so it is *not* a problem).

Signature · 5 lines
  Henrique Holschuh

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

A message that is not in the archive (sent off-list or not yet received): 20180619181236.4qcyc7qmziqiijn4-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org

#4 lore raw
Quoted 28 lines · Henrique de Moraes Holschuh
Quoted 27 lines · Benjamin Berg

The P52 has a keyboard which features a calculator key above the numpad.
Add support for this the calculator key (0x1313).

---
 drivers/platform/x86/thinkpad_acpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/platform/x86/thinkpad_acpi.c +0 -0
index cae9b0595692..6c979fe44ea7 100644
@@ -1928,7 +1928,7 @@ enum {	/* hot key scan codes (derived

from ACPI DSDT) */

drivers/platform/x86/thinkpad_acpi.c +1 -1
 	/* first new observed key (star, favorites) is 0x1311 */
 	TP_ACPI_HOTKEYSCAN_STAR = 69,
 	TP_ACPI_HOTKEYSCAN_CLIPPING_TOOL2,
-	TP_ACPI_HOTKEYSCAN_UNK25,
+	TP_ACPI_HOTKEYSCAN_CALCULATOR,
 	TP_ACPI_HOTKEYSCAN_BLUETOOTH,
 	TP_ACPI_HOTKEYSCAN_KEYBOARD,
@@ -3449,7 +3449,7 @@ static int __init hotkey_init(struct
 ibm_init_struct *iibm)
 
Quoted 7 lines
Quoted 5 lines
drivers/platform/x86/thinkpad_acpi.c +1 -1
 		KEY_FAVORITES,       /* Favorite app, 0x311 */
 		KEY_RESERVED,        /* Clipping tool */
-		KEY_RESERVED,
+		KEY_CALC,            /* Calculator (above numpad),

0x313 */

Replace 0x313 with (P52) please.

Sure.

Quoted 7 lines

Other than that,

That said, it would be nice to know if other models also have this hotkey, especially if it has a different meaning (in which case we just special-case the keymap in the driver, so it is *not* a problem).

I believe this is not specific to the P52 but simply the keyboard version that includes a numpad. I only have the P52, but looking at photos of e.g. the T570 and T580 the keyboard looks identical there.

On a different note, these keyboards also have "=", "(" and ")" keys above the numpad. These keys emit the key combinations required for a US keyboard layout on the P52 I have. I do believe there is a way to set the keyboard layout through ACPI which I suspect changes the emitted keycodes to match the expected values for other layouts. Unfortunately supporting that seems quite involved.

Benjamin

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot

A message that is not in the archive (sent off-list or not yet received): 5b3d294cd3bfd1c8ce8ae955f13df4d3814109aa.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org

#6 lore raw
Quoted 7 lines · Benjamin Berg
Quoted 3 lines

That said, it would be nice to know if other models also have this hotkey, especially if it has a different meaning (in which case we just special-case the keymap in the driver, so it is *not* a problem).

I believe this is not specific to the P52 but simply the keyboard version that includes a numpad. I only have the P52, but looking at photos of e.g. the T570 and T580 the keyboard looks identical there.

Hopefully we get a report from an user of these keyboards. Identical is good, the only issue would be if they were not identical...

Quoted 6 lines

On a different note, these keyboards also have "=", "(" and ")" keys above the numpad. These keys emit the key combinations required for a US keyboard layout on the P52 I have. I do believe there is a way to set the keyboard layout through ACPI which I suspect changes the emitted keycodes to match the expected values for other layouts. Unfortunately supporting that seems quite involved.

Yikes. Hopefully we won't need to mess with this.

Signature · 5 lines
  Henrique Holschuh

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot