diff options
author | Ike Panhc <ike.pan@canonical.com> | 2009-12-03 02:45:11 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-12-09 15:54:33 -0500 |
commit | 14f8af311e7d3e4198cbaade84a34f86505dcb37 (patch) | |
tree | fd8f1706359a20c42d8570d9da7afc27d5668011 | |
parent | 16851f92a5998bf8880a7401898ecfe351913854 (diff) |
asus-laptop: add Lenovo SL hotkey support
Lenovo SL series laptop has a very similar DSDT with Asus laptops. We can
easily have the extra ACPI function support with little modification in
asus-laptop.c
Here is the hotkey enablement for Lenovo SL series laptop.
This patch will enable the following hotkey:
- Volumn Up
- Volumn Down
- Mute
- Screen Lock (Fn+F2)
- Battery Status (Fn+F3)
- WLAN switch (Fn+F5)
- Video output switch (Fn+F7)
- Touchpad switch (Fn+F8)
- Screen Magnifier (Fn+Space)
The following function of Lenovo SL laptop is still need to be enabled:
- Hotkey: KEY_SUSPEND (Fn+F4), KEY_SLEEP (Fn+F12), Dock Eject (Fn+F9)
- Rfkill for bluetooth and wlan
- LenovoCare LED
- Hwmon for fan speed
- Fingerprint scanner
- Active Protection System
Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r-- | drivers/platform/x86/asus-laptop.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c index e931e8004233..83948dff2419 100644 --- a/drivers/platform/x86/asus-laptop.c +++ b/drivers/platform/x86/asus-laptop.c | |||
@@ -221,6 +221,7 @@ static struct asus_hotk *hotk; | |||
221 | */ | 221 | */ |
222 | static const struct acpi_device_id asus_device_ids[] = { | 222 | static const struct acpi_device_id asus_device_ids[] = { |
223 | {"ATK0100", 0}, | 223 | {"ATK0100", 0}, |
224 | {"ATK0101", 0}, | ||
224 | {"", 0}, | 225 | {"", 0}, |
225 | }; | 226 | }; |
226 | MODULE_DEVICE_TABLE(acpi, asus_device_ids); | 227 | MODULE_DEVICE_TABLE(acpi, asus_device_ids); |
@@ -294,6 +295,11 @@ struct key_entry { | |||
294 | enum { KE_KEY, KE_END }; | 295 | enum { KE_KEY, KE_END }; |
295 | 296 | ||
296 | static struct key_entry asus_keymap[] = { | 297 | static struct key_entry asus_keymap[] = { |
298 | {KE_KEY, 0x02, KEY_SCREENLOCK}, | ||
299 | {KE_KEY, 0x05, KEY_WLAN}, | ||
300 | {KE_KEY, 0x08, KEY_F13}, | ||
301 | {KE_KEY, 0x17, KEY_ZOOM}, | ||
302 | {KE_KEY, 0x1f, KEY_BATTERY}, | ||
297 | {KE_KEY, 0x30, KEY_VOLUMEUP}, | 303 | {KE_KEY, 0x30, KEY_VOLUMEUP}, |
298 | {KE_KEY, 0x31, KEY_VOLUMEDOWN}, | 304 | {KE_KEY, 0x31, KEY_VOLUMEDOWN}, |
299 | {KE_KEY, 0x32, KEY_MUTE}, | 305 | {KE_KEY, 0x32, KEY_MUTE}, |
@@ -313,6 +319,8 @@ static struct key_entry asus_keymap[] = { | |||
313 | {KE_KEY, 0x5F, KEY_WLAN}, | 319 | {KE_KEY, 0x5F, KEY_WLAN}, |
314 | {KE_KEY, 0x60, KEY_SWITCHVIDEOMODE}, | 320 | {KE_KEY, 0x60, KEY_SWITCHVIDEOMODE}, |
315 | {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, | 321 | {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, |
322 | {KE_KEY, 0x62, KEY_SWITCHVIDEOMODE}, | ||
323 | {KE_KEY, 0x63, KEY_SWITCHVIDEOMODE}, | ||
316 | {KE_KEY, 0x6B, KEY_F13}, /* Lock Touchpad */ | 324 | {KE_KEY, 0x6B, KEY_F13}, /* Lock Touchpad */ |
317 | {KE_KEY, 0x82, KEY_CAMERA}, | 325 | {KE_KEY, 0x82, KEY_CAMERA}, |
318 | {KE_KEY, 0x8A, KEY_PROG1}, | 326 | {KE_KEY, 0x8A, KEY_PROG1}, |