On Mon, Nov 09, 2009 at 07:14:26PM +0800, Ike Panhc wrote: > 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 Wow, so my SL 500 should be happy with the asus-laptop module loaded? That seems weird and wrong in some way, but if it works, I will be quite happy. Nice work. > 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) Yay! Whoohoo! > - 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 I am OK with the hardware switch for now. :) > - LenovoCare LED > - Hwmon for fan speed > - Fingerprint scanner I have read that some people have got that working with various bits of user space code. > - Active Protection System Yeah that one would be nice to fix. It works under windows with the driver installed of course. I will have to go try it out. -- Len Sorensen > Signed-off-by: Ike Panhc <ike.pan@xxxxxxxxxxxxx> > --- > drivers/platform/x86/asus-laptop.c | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c > index b39d2bb..a365636 100644 > --- a/drivers/platform/x86/asus-laptop.c > +++ b/drivers/platform/x86/asus-laptop.c > @@ -221,6 +221,7 @@ static struct asus_hotk *hotk; > */ > static const struct acpi_device_id asus_device_ids[] = { > {"ATK0100", 0}, > + {"ATK0101", 0}, > {"", 0}, > }; > MODULE_DEVICE_TABLE(acpi, asus_device_ids); > @@ -293,6 +294,11 @@ struct key_entry { > enum { KE_KEY, KE_END }; > > static struct key_entry asus_keymap[] = { > + {KE_KEY, 0x02, KEY_SCREENLOCK}, > + {KE_KEY, 0x05, KEY_WLAN}, > + {KE_KEY, 0x08, BTN_TOUCH}, > + {KE_KEY, 0x17, KEY_ZOOM}, > + {KE_KEY, 0x1f, KEY_BATTERY}, > {KE_KEY, 0x30, KEY_VOLUMEUP}, > {KE_KEY, 0x31, KEY_VOLUMEDOWN}, > {KE_KEY, 0x32, KEY_MUTE}, > @@ -312,7 +318,9 @@ static struct key_entry asus_keymap[] = { > {KE_KEY, 0x5F, KEY_WLAN}, > {KE_KEY, 0x60, KEY_SWITCHVIDEOMODE}, > {KE_KEY, 0x61, KEY_SWITCHVIDEOMODE}, > + {KE_KEY, 0x62, KEY_SWITCHVIDEOMODE}, > + {KE_KEY, 0x63, KEY_SWITCHVIDEOMODE}, > {KE_KEY, 0x6B, BTN_TOUCH}, /* Lock Mouse */ > {KE_KEY, 0x82, KEY_CAMERA}, > {KE_KEY, 0x8A, KEY_PROG1}, > {KE_KEY, 0x95, KEY_MEDIA}, > -- > 1.6.3.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html