aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattia Dongili <malattia@linux.it>2011-01-08 04:47:29 -0500
committerMatthew Garrett <mjg@redhat.com>2011-01-10 12:00:22 -0500
commit1a7d946993aaf2a79e9c65abbe169a108e351bcb (patch)
tree8580fe6e0a610ae950dfbb0aaf4f588635f4aad9
parent0c51a4d8abd6ed5ba55f828840c6b78ab672644b (diff)
sony-laptop: support new hotkeys on the P, Z and EC series
Add new mappings for assist, VAIO, zoom and eject buttons present on refurbished P, Z and EC models. Reported-by: Gyorgy Jeney <nog.lkml@gmail.com> Reported-by: Stephan Mueller <smueller@chronox.de> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Mattia Dongili <malattia@linux.it> Signed-off-by: Matthew Garrett <mjg@redhat.com>
-rw-r--r--drivers/platform/x86/sony-laptop.c10
-rw-r--r--include/linux/sonypi.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 68edc97f1926..b4a95bb2f232 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -235,6 +235,7 @@ static int sony_laptop_input_index[] = {
235 57, /* 70 SONYPI_EVENT_VOLUME_DEC_PRESSED */ 235 57, /* 70 SONYPI_EVENT_VOLUME_DEC_PRESSED */
236 -1, /* 71 SONYPI_EVENT_BRIGHTNESS_PRESSED */ 236 -1, /* 71 SONYPI_EVENT_BRIGHTNESS_PRESSED */
237 58, /* 72 SONYPI_EVENT_MEDIA_PRESSED */ 237 58, /* 72 SONYPI_EVENT_MEDIA_PRESSED */
238 59, /* 72 SONYPI_EVENT_VENDOR_PRESSED */
238}; 239};
239 240
240static int sony_laptop_input_keycode_map[] = { 241static int sony_laptop_input_keycode_map[] = {
@@ -297,6 +298,7 @@ static int sony_laptop_input_keycode_map[] = {
297 KEY_VOLUMEUP, /* 56 SONYPI_EVENT_VOLUME_INC_PRESSED */ 298 KEY_VOLUMEUP, /* 56 SONYPI_EVENT_VOLUME_INC_PRESSED */
298 KEY_VOLUMEDOWN, /* 57 SONYPI_EVENT_VOLUME_DEC_PRESSED */ 299 KEY_VOLUMEDOWN, /* 57 SONYPI_EVENT_VOLUME_DEC_PRESSED */
299 KEY_MEDIA, /* 58 SONYPI_EVENT_MEDIA_PRESSED */ 300 KEY_MEDIA, /* 58 SONYPI_EVENT_MEDIA_PRESSED */
301 KEY_VENDOR, /* 59 SONYPI_EVENT_VENDOR_PRESSED */
300}; 302};
301 303
302/* release buttons after a short delay if pressed */ 304/* release buttons after a short delay if pressed */
@@ -894,10 +896,18 @@ static struct sony_nc_event sony_100_events[] = {
894 { 0x0A, SONYPI_EVENT_FNKEY_RELEASED }, 896 { 0x0A, SONYPI_EVENT_FNKEY_RELEASED },
895 { 0x8C, SONYPI_EVENT_FNKEY_F12 }, 897 { 0x8C, SONYPI_EVENT_FNKEY_F12 },
896 { 0x0C, SONYPI_EVENT_FNKEY_RELEASED }, 898 { 0x0C, SONYPI_EVENT_FNKEY_RELEASED },
899 { 0x9d, SONYPI_EVENT_ZOOM_PRESSED },
900 { 0x1d, SONYPI_EVENT_ANYBUTTON_RELEASED },
897 { 0x9f, SONYPI_EVENT_CD_EJECT_PRESSED }, 901 { 0x9f, SONYPI_EVENT_CD_EJECT_PRESSED },
898 { 0x1f, SONYPI_EVENT_ANYBUTTON_RELEASED }, 902 { 0x1f, SONYPI_EVENT_ANYBUTTON_RELEASED },
899 { 0xa1, SONYPI_EVENT_MEDIA_PRESSED }, 903 { 0xa1, SONYPI_EVENT_MEDIA_PRESSED },
900 { 0x21, SONYPI_EVENT_ANYBUTTON_RELEASED }, 904 { 0x21, SONYPI_EVENT_ANYBUTTON_RELEASED },
905 { 0xa4, SONYPI_EVENT_CD_EJECT_PRESSED },
906 { 0x24, SONYPI_EVENT_ANYBUTTON_RELEASED },
907 { 0xa5, SONYPI_EVENT_VENDOR_PRESSED },
908 { 0x25, SONYPI_EVENT_ANYBUTTON_RELEASED },
909 { 0xa6, SONYPI_EVENT_HELP_PRESSED },
910 { 0x26, SONYPI_EVENT_ANYBUTTON_RELEASED },
901 { 0, 0 }, 911 { 0, 0 },
902}; 912};
903 913
diff --git a/include/linux/sonypi.h b/include/linux/sonypi.h
index 4f95c1aac2fd..0e6dc3891942 100644
--- a/include/linux/sonypi.h
+++ b/include/linux/sonypi.h
@@ -112,6 +112,7 @@
112#define SONYPI_EVENT_VOLUME_DEC_PRESSED 70 112#define SONYPI_EVENT_VOLUME_DEC_PRESSED 70
113#define SONYPI_EVENT_BRIGHTNESS_PRESSED 71 113#define SONYPI_EVENT_BRIGHTNESS_PRESSED 71
114#define SONYPI_EVENT_MEDIA_PRESSED 72 114#define SONYPI_EVENT_MEDIA_PRESSED 72
115#define SONYPI_EVENT_VENDOR_PRESSED 73
115 116
116/* get/set brightness */ 117/* get/set brightness */
117#define SONYPI_IOCGBRT _IOR('v', 0, __u8) 118#define SONYPI_IOCGBRT _IOR('v', 0, __u8)