aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorJerone Young <jerone.young@canonical.com>2009-07-21 01:14:59 -0400
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-07-21 01:29:51 -0400
commit032e46cbf5fb1d768d7dec5631c224e22b4be46f (patch)
tree2b267a7ed4aaa8264b74b8b3dd3b087ffd959949 /drivers/input
parentf936601471d1454dacbd3b2a961fd4d883090aeb (diff)
Input: atkbd - add force relese key quirk for Soltech TA12
Netbooks based on the Soltech TA12 do not send a key release for volume keys causing Linux to think the key is constantly being pressed forever. Added quirk data for forced release keys. BugLink: https://bugs.launchpad.net//bugs/397499 Signed-off-by: Jerone Young <jerone.young@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/keyboard/atkbd.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 809a7ddbe3af..95fe0452dae4 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -909,6 +909,13 @@ static unsigned int atkbd_amilo_xi3650_forced_release_keys[] = {
909}; 909};
910 910
911/* 911/*
912 * Soltech TA12 system with broken key release on volume keys and mute key
913 */
914static unsigned int atkdb_soltech_ta12_forced_release_keys[] = {
915 0xa0, 0xae, 0xb0, -1U
916};
917
918/*
912 * atkbd_set_keycode_table() initializes keyboard's keycode table 919 * atkbd_set_keycode_table() initializes keyboard's keycode table
913 * according to the selected scancode set 920 * according to the selected scancode set
914 */ 921 */
@@ -1592,6 +1599,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
1592 .callback = atkbd_setup_forced_release, 1599 .callback = atkbd_setup_forced_release,
1593 .driver_data = atkbd_amilo_xi3650_forced_release_keys, 1600 .driver_data = atkbd_amilo_xi3650_forced_release_keys,
1594 }, 1601 },
1602 {
1603 .ident = "Soltech Corporation TA12",
1604 .matches = {
1605 DMI_MATCH(DMI_SYS_VENDOR, "Soltech Corporation"),
1606 DMI_MATCH(DMI_PRODUCT_NAME, "TA12"),
1607 },
1608 .callback = atkbd_setup_forced_release,
1609 .driver_data = atkdb_soltech_ta12_forced_release_keys,
1610 },
1595 { } 1611 { }
1596}; 1612};
1597 1613