public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add Lenovo SL hotkey support on asus-laptop
@ 2009-11-09 11:14 Ike Panhc
  2009-11-09 13:35 ` Alexey Starikovskiy
  2009-11-09 19:27 ` Lennart Sorensen
  0 siblings, 2 replies; 4+ messages in thread
From: Ike Panhc @ 2009-11-09 11:14 UTC (permalink / raw)
  To: linux-acpi; +Cc: Corentin Chary, linux-kernel, acpi4asus-user

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>
---
 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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add Lenovo SL hotkey support on asus-laptop
  2009-11-09 11:14 [PATCH] Add Lenovo SL hotkey support on asus-laptop Ike Panhc
@ 2009-11-09 13:35 ` Alexey Starikovskiy
  2009-11-09 19:27 ` Lennart Sorensen
  1 sibling, 0 replies; 4+ messages in thread
From: Alexey Starikovskiy @ 2009-11-09 13:35 UTC (permalink / raw)
  To: Ike Panhc; +Cc: linux-acpi, Corentin Chary, linux-kernel, acpi4asus-user

Hi,

See, no interception of EC query was needed :)

Regards,
Alex.

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
>
> 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>
> ---
>  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},
>   


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add Lenovo SL hotkey support on asus-laptop
  2009-11-09 11:14 [PATCH] Add Lenovo SL hotkey support on asus-laptop Ike Panhc
  2009-11-09 13:35 ` Alexey Starikovskiy
@ 2009-11-09 19:27 ` Lennart Sorensen
  2009-11-09 22:37   ` Corentin Chary
  1 sibling, 1 reply; 4+ messages in thread
From: Lennart Sorensen @ 2009-11-09 19:27 UTC (permalink / raw)
  To: Ike Panhc; +Cc: linux-acpi, Corentin Chary, linux-kernel, acpi4asus-user

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@canonical.com>
> ---
>  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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] Add Lenovo SL hotkey support on asus-laptop
  2009-11-09 19:27 ` Lennart Sorensen
@ 2009-11-09 22:37   ` Corentin Chary
  0 siblings, 0 replies; 4+ messages in thread
From: Corentin Chary @ 2009-11-09 22:37 UTC (permalink / raw)
  To: Lennart Sorensen; +Cc: Ike Panhc, linux-acpi, linux-kernel, acpi4asus-user

On Mon, Nov 9, 2009 at 8:27 PM, Lennart Sorensen
<lsorense@csclub.uwaterloo.ca> wrote:
> 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@canonical.com>
>> ---
>>  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@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
>

Thanks, merged into acpi4asus with a small modification (KEY_F13
instead of BTN_TOUCH).


-- 
Corentin Chary
http://xf.iksaif.net

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-09 22:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-09 11:14 [PATCH] Add Lenovo SL hotkey support on asus-laptop Ike Panhc
2009-11-09 13:35 ` Alexey Starikovskiy
2009-11-09 19:27 ` Lennart Sorensen
2009-11-09 22:37   ` Corentin Chary

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox