From: John Hughes <john@calvaedi.com>
To: John Hughes <john@Calva.COM>
Cc: Mattia Dongili <malattia@linux.it>,
Valdis.Kletnieks@vt.edu, linux-kernel@vger.kernel.org,
Stelian Pop <stelian@popies.net>,
platform-driver-x86 <platform-driver-x86@vger.kernel.org>
Subject: Re: sony-laptop driver: Volume keys on Sony Vaio TX3 don't work
Date: Thu, 20 Oct 2011 00:01:12 +0200 [thread overview]
Message-ID: <4E9F48A8.3020507@calvaedi.com> (raw)
In-Reply-To: <4E9D41C5.70902@Calva.COM>
[-- Attachment #1: Type: text/plain, Size: 2755 bytes --]
On 10/18/2011 11:07 AM, John Hughes wrote:
> udev does have some per-model stuff for the Vaio's.
>
> Doesn't work right because the scancodes reported the sony-laptop
> driver are not the right ones.
>
> (sony-laptop sends its "event" code as the scancode, but to change the
> keymap you have to use the index in the sony_laptop_input_keycode_map
> table. I have posted one patch for this which makes the scancodes at
> least consistent but I think I'll do another that makes them be the
> same as what current udev thinks they should be. I'll have that ready
> this evening I thing - have to work now :-( )
>
Ok, here is a patch that makes the scancodes reported by sony-laptop be
the same as the SONY_EVENT defines.
Unfortunately this doesn't work terribly well because the scancodes used
by udev seem to be chosen randomly:
$ cat /lib/udev/keymaps/module-sony
0x06 mute # Fn+F2
0x07 volumedown # Fn+F3
0x08 volumeup # Fn+F4
0x09 brightnessdown # Fn+F5
0x0A brightnessup # Fn+F6
0x0B switchvideomode # Fn+F7
0x0E zoom # Fn+F10
0x10 suspend # Fn+F12
and
$ cat /lib/udev/keymaps/module-sony-vgn
0x00 brightnessdown # Fn+F5
0x10 brightnessup # Fn+F6
0x11 switchvideomode # Fn+F7
0x12 zoomout
0x14 zoomin
0x15 suspend # Fn+F12
0x17 prog1
So the different ideas are:
key module-sony module-sony-vgn orig code(*) event(*)
fn_f1 0x05 0x0c
fn_f2 0x06 0x06 0x0d
fn_f3 0x07 0x07 0x0e
fn_f4 0x08 0x08 0x0f
fn_f5 0x09 0x00 (!) 0x09 0x10
fn_f6 0x0a 0x10 0x0a 0x11
fn_f7 0x0b 0x11 0x0b 0x12
fn_f8 0x0c 0x13
fn_f9 0x0d 0x14
fn_f10 0x0e 0x0e 0x15
fn_f11 0x0f 0x16
fn_f12 0x10 0x15 0x10 0x17
(*) Orig code - the scancodes that map for the original code, and the
scancodes returned by my first patch
(*) event - the scancodes from the patch included here.
So, it seems to me that:
1. my original patch is the smaller change, and works with the udev
"module-sony" keymap file
2. this patch is prettier but doesn't work with existing userspace.
3. the poor sod who wrote the module-sony-vgn file was terribly confused
by the scancodes returned by the original code.
My recommendation would be to use my first patch - it makes the driver
return scancodes that correspond to the scancodes that you need to map.
OK?
Want me to do the whole formal "blablabla-by" stuff now?
[-- Attachment #2: sony-scancode-event.patch --]
[-- Type: text/x-patch, Size: 11185 bytes --]
diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index bbd182e..e2acfd5 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -177,146 +177,83 @@ struct sony_laptop_keypress {
};
/* Correspondance table between sonypi events
- * and input layer indexes in the keymap
+ * and keycodes
*/
-static int sony_laptop_input_index[] = {
- -1, /* 0 no event */
- -1, /* 1 SONYPI_EVENT_JOGDIAL_DOWN */
- -1, /* 2 SONYPI_EVENT_JOGDIAL_UP */
- -1, /* 3 SONYPI_EVENT_JOGDIAL_DOWN_PRESSED */
- -1, /* 4 SONYPI_EVENT_JOGDIAL_UP_PRESSED */
- -1, /* 5 SONYPI_EVENT_JOGDIAL_PRESSED */
- -1, /* 6 SONYPI_EVENT_JOGDIAL_RELEASED */
- 0, /* 7 SONYPI_EVENT_CAPTURE_PRESSED */
- 1, /* 8 SONYPI_EVENT_CAPTURE_RELEASED */
- 2, /* 9 SONYPI_EVENT_CAPTURE_PARTIALPRESSED */
- 3, /* 10 SONYPI_EVENT_CAPTURE_PARTIALRELEASED */
- 4, /* 11 SONYPI_EVENT_FNKEY_ESC */
- 5, /* 12 SONYPI_EVENT_FNKEY_F1 */
- 6, /* 13 SONYPI_EVENT_FNKEY_F2 */
- 7, /* 14 SONYPI_EVENT_FNKEY_F3 */
- 8, /* 15 SONYPI_EVENT_FNKEY_F4 */
- 9, /* 16 SONYPI_EVENT_FNKEY_F5 */
- 10, /* 17 SONYPI_EVENT_FNKEY_F6 */
- 11, /* 18 SONYPI_EVENT_FNKEY_F7 */
- 12, /* 19 SONYPI_EVENT_FNKEY_F8 */
- 13, /* 20 SONYPI_EVENT_FNKEY_F9 */
- 14, /* 21 SONYPI_EVENT_FNKEY_F10 */
- 15, /* 22 SONYPI_EVENT_FNKEY_F11 */
- 16, /* 23 SONYPI_EVENT_FNKEY_F12 */
- 17, /* 24 SONYPI_EVENT_FNKEY_1 */
- 18, /* 25 SONYPI_EVENT_FNKEY_2 */
- 19, /* 26 SONYPI_EVENT_FNKEY_D */
- 20, /* 27 SONYPI_EVENT_FNKEY_E */
- 21, /* 28 SONYPI_EVENT_FNKEY_F */
- 22, /* 29 SONYPI_EVENT_FNKEY_S */
- 23, /* 30 SONYPI_EVENT_FNKEY_B */
- 24, /* 31 SONYPI_EVENT_BLUETOOTH_PRESSED */
- 25, /* 32 SONYPI_EVENT_PKEY_P1 */
- 26, /* 33 SONYPI_EVENT_PKEY_P2 */
- 27, /* 34 SONYPI_EVENT_PKEY_P3 */
- 28, /* 35 SONYPI_EVENT_BACK_PRESSED */
- -1, /* 36 SONYPI_EVENT_LID_CLOSED */
- -1, /* 37 SONYPI_EVENT_LID_OPENED */
- 29, /* 38 SONYPI_EVENT_BLUETOOTH_ON */
- 30, /* 39 SONYPI_EVENT_BLUETOOTH_OFF */
- 31, /* 40 SONYPI_EVENT_HELP_PRESSED */
- 32, /* 41 SONYPI_EVENT_FNKEY_ONLY */
- 33, /* 42 SONYPI_EVENT_JOGDIAL_FAST_DOWN */
- 34, /* 43 SONYPI_EVENT_JOGDIAL_FAST_UP */
- 35, /* 44 SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED */
- 36, /* 45 SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED */
- 37, /* 46 SONYPI_EVENT_JOGDIAL_VFAST_DOWN */
- 38, /* 47 SONYPI_EVENT_JOGDIAL_VFAST_UP */
- 39, /* 48 SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED */
- 40, /* 49 SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED */
- 41, /* 50 SONYPI_EVENT_ZOOM_PRESSED */
- 42, /* 51 SONYPI_EVENT_THUMBPHRASE_PRESSED */
- 43, /* 52 SONYPI_EVENT_MEYE_FACE */
- 44, /* 53 SONYPI_EVENT_MEYE_OPPOSITE */
- 45, /* 54 SONYPI_EVENT_MEMORYSTICK_INSERT */
- 46, /* 55 SONYPI_EVENT_MEMORYSTICK_EJECT */
- -1, /* 56 SONYPI_EVENT_ANYBUTTON_RELEASED */
- -1, /* 57 SONYPI_EVENT_BATTERY_INSERT */
- -1, /* 58 SONYPI_EVENT_BATTERY_REMOVE */
- -1, /* 59 SONYPI_EVENT_FNKEY_RELEASED */
- 47, /* 60 SONYPI_EVENT_WIRELESS_ON */
- 48, /* 61 SONYPI_EVENT_WIRELESS_OFF */
- 49, /* 62 SONYPI_EVENT_ZOOM_IN_PRESSED */
- 50, /* 63 SONYPI_EVENT_ZOOM_OUT_PRESSED */
- 51, /* 64 SONYPI_EVENT_CD_EJECT_PRESSED */
- 52, /* 65 SONYPI_EVENT_MODEKEY_PRESSED */
- 53, /* 66 SONYPI_EVENT_PKEY_P4 */
- 54, /* 67 SONYPI_EVENT_PKEY_P5 */
- 55, /* 68 SONYPI_EVENT_SETTINGKEY_PRESSED */
- 56, /* 69 SONYPI_EVENT_VOLUME_INC_PRESSED */
- 57, /* 70 SONYPI_EVENT_VOLUME_DEC_PRESSED */
- -1, /* 71 SONYPI_EVENT_BRIGHTNESS_PRESSED */
- 58, /* 72 SONYPI_EVENT_MEDIA_PRESSED */
- 59, /* 72 SONYPI_EVENT_VENDOR_PRESSED */
-};
-
static int sony_laptop_input_keycode_map[] = {
- KEY_CAMERA, /* 0 SONYPI_EVENT_CAPTURE_PRESSED */
- KEY_RESERVED, /* 1 SONYPI_EVENT_CAPTURE_RELEASED */
- KEY_RESERVED, /* 2 SONYPI_EVENT_CAPTURE_PARTIALPRESSED */
- KEY_RESERVED, /* 3 SONYPI_EVENT_CAPTURE_PARTIALRELEASED */
- KEY_FN_ESC, /* 4 SONYPI_EVENT_FNKEY_ESC */
- KEY_FN_F1, /* 5 SONYPI_EVENT_FNKEY_F1 */
- KEY_FN_F2, /* 6 SONYPI_EVENT_FNKEY_F2 */
- KEY_FN_F3, /* 7 SONYPI_EVENT_FNKEY_F3 */
- KEY_FN_F4, /* 8 SONYPI_EVENT_FNKEY_F4 */
- KEY_FN_F5, /* 9 SONYPI_EVENT_FNKEY_F5 */
- KEY_FN_F6, /* 10 SONYPI_EVENT_FNKEY_F6 */
- KEY_FN_F7, /* 11 SONYPI_EVENT_FNKEY_F7 */
- KEY_FN_F8, /* 12 SONYPI_EVENT_FNKEY_F8 */
- KEY_FN_F9, /* 13 SONYPI_EVENT_FNKEY_F9 */
- KEY_FN_F10, /* 14 SONYPI_EVENT_FNKEY_F10 */
- KEY_FN_F11, /* 15 SONYPI_EVENT_FNKEY_F11 */
- KEY_FN_F12, /* 16 SONYPI_EVENT_FNKEY_F12 */
- KEY_FN_F1, /* 17 SONYPI_EVENT_FNKEY_1 */
- KEY_FN_F2, /* 18 SONYPI_EVENT_FNKEY_2 */
- KEY_FN_D, /* 19 SONYPI_EVENT_FNKEY_D */
- KEY_FN_E, /* 20 SONYPI_EVENT_FNKEY_E */
- KEY_FN_F, /* 21 SONYPI_EVENT_FNKEY_F */
- KEY_FN_S, /* 22 SONYPI_EVENT_FNKEY_S */
- KEY_FN_B, /* 23 SONYPI_EVENT_FNKEY_B */
- KEY_BLUETOOTH, /* 24 SONYPI_EVENT_BLUETOOTH_PRESSED */
- KEY_PROG1, /* 25 SONYPI_EVENT_PKEY_P1 */
- KEY_PROG2, /* 26 SONYPI_EVENT_PKEY_P2 */
- KEY_PROG3, /* 27 SONYPI_EVENT_PKEY_P3 */
- KEY_BACK, /* 28 SONYPI_EVENT_BACK_PRESSED */
- KEY_BLUETOOTH, /* 29 SONYPI_EVENT_BLUETOOTH_ON */
- KEY_BLUETOOTH, /* 30 SONYPI_EVENT_BLUETOOTH_OFF */
- KEY_HELP, /* 31 SONYPI_EVENT_HELP_PRESSED */
- KEY_FN, /* 32 SONYPI_EVENT_FNKEY_ONLY */
- KEY_RESERVED, /* 33 SONYPI_EVENT_JOGDIAL_FAST_DOWN */
- KEY_RESERVED, /* 34 SONYPI_EVENT_JOGDIAL_FAST_UP */
- KEY_RESERVED, /* 35 SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED */
- KEY_RESERVED, /* 36 SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED */
- KEY_RESERVED, /* 37 SONYPI_EVENT_JOGDIAL_VFAST_DOWN */
- KEY_RESERVED, /* 38 SONYPI_EVENT_JOGDIAL_VFAST_UP */
- KEY_RESERVED, /* 39 SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED */
- KEY_RESERVED, /* 40 SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED */
- KEY_ZOOM, /* 41 SONYPI_EVENT_ZOOM_PRESSED */
- BTN_THUMB, /* 42 SONYPI_EVENT_THUMBPHRASE_PRESSED */
- KEY_RESERVED, /* 43 SONYPI_EVENT_MEYE_FACE */
- KEY_RESERVED, /* 44 SONYPI_EVENT_MEYE_OPPOSITE */
- KEY_RESERVED, /* 45 SONYPI_EVENT_MEMORYSTICK_INSERT */
- KEY_RESERVED, /* 46 SONYPI_EVENT_MEMORYSTICK_EJECT */
- KEY_WLAN, /* 47 SONYPI_EVENT_WIRELESS_ON */
- KEY_WLAN, /* 48 SONYPI_EVENT_WIRELESS_OFF */
- KEY_ZOOMIN, /* 49 SONYPI_EVENT_ZOOM_IN_PRESSED */
- KEY_ZOOMOUT, /* 50 SONYPI_EVENT_ZOOM_OUT_PRESSED */
- KEY_EJECTCD, /* 51 SONYPI_EVENT_CD_EJECT_PRESSED */
- KEY_F13, /* 52 SONYPI_EVENT_MODEKEY_PRESSED */
- KEY_PROG4, /* 53 SONYPI_EVENT_PKEY_P4 */
- KEY_F14, /* 54 SONYPI_EVENT_PKEY_P5 */
- KEY_F15, /* 55 SONYPI_EVENT_SETTINGKEY_PRESSED */
- KEY_VOLUMEUP, /* 56 SONYPI_EVENT_VOLUME_INC_PRESSED */
- KEY_VOLUMEDOWN, /* 57 SONYPI_EVENT_VOLUME_DEC_PRESSED */
- KEY_MEDIA, /* 58 SONYPI_EVENT_MEDIA_PRESSED */
- KEY_VENDOR, /* 59 SONYPI_EVENT_VENDOR_PRESSED */
+ KEY_UNKNOWN, /* 0 no event */
+ KEY_UNKNOWN, /* 1 SONYPI_EVENT_JOGDIAL_DOWN */
+ KEY_UNKNOWN, /* 2 SONYPI_EVENT_JOGDIAL_UP */
+ KEY_UNKNOWN, /* 3 SONYPI_EVENT_JOGDIAL_DOWN_PRESSED */
+ KEY_UNKNOWN, /* 4 SONYPI_EVENT_JOGDIAL_UP_PRESSED */
+ KEY_UNKNOWN, /* 5 SONYPI_EVENT_JOGDIAL_PRESSED */
+ KEY_UNKNOWN, /* 6 SONYPI_EVENT_JOGDIAL_RELEASED */
+ KEY_CAMERA, /* 7 SONYPI_EVENT_CAPTURE_PRESSED */
+ KEY_RESERVED, /* 8 SONYPI_EVENT_CAPTURE_RELEASED */
+ KEY_RESERVED, /* 9 SONYPI_EVENT_CAPTURE_PARTIALPRESSED */
+ KEY_RESERVED, /* 10 SONYPI_EVENT_CAPTURE_PARTIALRELEASED */
+ KEY_FN_ESC, /* 11 SONYPI_EVENT_FNKEY_ESC */
+ KEY_FN_F1, /* 12 SONYPI_EVENT_FNKEY_F1 */
+ KEY_FN_F2, /* 13 SONYPI_EVENT_FNKEY_F2 */
+ KEY_FN_F3, /* 14 SONYPI_EVENT_FNKEY_F3 */
+ KEY_FN_F4, /* 15 SONYPI_EVENT_FNKEY_F4 */
+ KEY_FN_F5, /* 16 SONYPI_EVENT_FNKEY_F5 */
+ KEY_FN_F6, /* 17 SONYPI_EVENT_FNKEY_F6 */
+ KEY_FN_F7, /* 18 SONYPI_EVENT_FNKEY_F7 */
+ KEY_FN_F8, /* 19 SONYPI_EVENT_FNKEY_F8 */
+ KEY_FN_F9, /* 20 SONYPI_EVENT_FNKEY_F9 */
+ KEY_FN_F10, /* 21 SONYPI_EVENT_FNKEY_F10 */
+ KEY_FN_F11, /* 22 SONYPI_EVENT_FNKEY_F11 */
+ KEY_FN_F12, /* 23 SONYPI_EVENT_FNKEY_F12 */
+ KEY_FN_F1, /* 24 SONYPI_EVENT_FNKEY_1 */
+ KEY_FN_F2, /* 25 SONYPI_EVENT_FNKEY_2 */
+ KEY_FN_D, /* 26 SONYPI_EVENT_FNKEY_D */
+ KEY_FN_E, /* 27 SONYPI_EVENT_FNKEY_E */
+ KEY_FN_F, /* 28 SONYPI_EVENT_FNKEY_F */
+ KEY_FN_S, /* 29 SONYPI_EVENT_FNKEY_S */
+ KEY_FN_B, /* 30 SONYPI_EVENT_FNKEY_B */
+ KEY_BLUETOOTH, /* 31 SONYPI_EVENT_BLUETOOTH_PRESSED */
+ KEY_PROG1, /* 32 SONYPI_EVENT_PKEY_P1 */
+ KEY_PROG2, /* 33 SONYPI_EVENT_PKEY_P2 */
+ KEY_PROG3, /* 34 SONYPI_EVENT_PKEY_P3 */
+ KEY_BACK, /* 35 SONYPI_EVENT_BACK_PRESSED */
+ KEY_UNKNOWN, /* 36 SONYPI_EVENT_LID_CLOSED */
+ KEY_UNKNOWN, /* 37 SONYPI_EVENT_LID_OPENED */
+ KEY_BLUETOOTH, /* 38 SONYPI_EVENT_BLUETOOTH_ON */
+ KEY_BLUETOOTH, /* 39 SONYPI_EVENT_BLUETOOTH_OFF */
+ KEY_HELP, /* 40 SONYPI_EVENT_HELP_PRESSED */
+ KEY_FN, /* 41 SONYPI_EVENT_FNKEY_ONLY */
+ KEY_RESERVED, /* 42 SONYPI_EVENT_JOGDIAL_FAST_DOWN */
+ KEY_RESERVED, /* 43 SONYPI_EVENT_JOGDIAL_FAST_UP */
+ KEY_RESERVED, /* 44 SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED */
+ KEY_RESERVED, /* 45 SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED */
+ KEY_RESERVED, /* 46 SONYPI_EVENT_JOGDIAL_VFAST_DOWN */
+ KEY_RESERVED, /* 47 SONYPI_EVENT_JOGDIAL_VFAST_UP */
+ KEY_RESERVED, /* 48 SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED */
+ KEY_RESERVED, /* 49 SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED */
+ KEY_ZOOM, /* 50 SONYPI_EVENT_ZOOM_PRESSED */
+ BTN_THUMB, /* 51 SONYPI_EVENT_THUMBPHRASE_PRESSED */
+ KEY_RESERVED, /* 52 SONYPI_EVENT_MEYE_FACE */
+ KEY_RESERVED, /* 53 SONYPI_EVENT_MEYE_OPPOSITE */
+ KEY_RESERVED, /* 54 SONYPI_EVENT_MEMORYSTICK_INSERT */
+ KEY_RESERVED, /* 55 SONYPI_EVENT_MEMORYSTICK_EJECT */
+ KEY_UNKNOWN, /* 56 SONYPI_EVENT_ANYBUTTON_RELEASED */
+ KEY_UNKNOWN, /* 57 SONYPI_EVENT_BATTERY_INSERT */
+ KEY_UNKNOWN, /* 58 SONYPI_EVENT_BATTERY_REMOVE */
+ KEY_UNKNOWN, /* 59 SONYPI_EVENT_FNKEY_RELEASED */
+ KEY_WLAN, /* 60 SONYPI_EVENT_WIRELESS_ON */
+ KEY_WLAN, /* 61 SONYPI_EVENT_WIRELESS_OFF */
+ KEY_ZOOMIN, /* 62 SONYPI_EVENT_ZOOM_IN_PRESSED */
+ KEY_ZOOMOUT, /* 63 SONYPI_EVENT_ZOOM_OUT_PRESSED */
+ KEY_EJECTCD, /* 64 SONYPI_EVENT_CD_EJECT_PRESSED */
+ KEY_F13, /* 65 SONYPI_EVENT_MODEKEY_PRESSED */
+ KEY_PROG4, /* 66 SONYPI_EVENT_PKEY_P4 */
+ KEY_F14, /* 67 SONYPI_EVENT_PKEY_P5 */
+ KEY_F15, /* 68 SONYPI_EVENT_SETTINGKEY_PRESSED */
+ KEY_VOLUMEUP, /* 69 SONYPI_EVENT_VOLUME_INC_PRESSED */
+ KEY_VOLUMEDOWN, /* 70 SONYPI_EVENT_VOLUME_DEC_PRESSED */
+ KEY_UNKNOWN, /* 71 SONYPI_EVENT_BRIGHTNESS_PRESSED */
+ KEY_MEDIA, /* 72 SONYPI_EVENT_MEDIA_PRESSED */
+ KEY_VENDOR, /* 72 SONYPI_EVENT_VENDOR_PRESSED */
};
/* release buttons after a short delay if pressed */
@@ -376,22 +313,20 @@ static void sony_laptop_report_input_event(u8 event)
break;
default:
- if (event >= ARRAY_SIZE(sony_laptop_input_index)) {
+ if (event >= ARRAY_SIZE(sony_laptop_input_keycode_map)) {
dprintk("sony_laptop_report_input_event, event not known: %d\n", event);
break;
}
- if (sony_laptop_input_index[event] != -1) {
- kp.key = sony_laptop_input_keycode_map[sony_laptop_input_index[event]];
- if (kp.key != KEY_UNKNOWN)
- kp.dev = key_dev;
- }
+ kp.key = sony_laptop_input_keycode_map[event];
+ if (kp.key != KEY_UNKNOWN && kp.key != KEY_RESERVED)
+ kp.dev = key_dev;
break;
}
if (kp.dev) {
- input_report_key(kp.dev, kp.key, 1);
/* we emit the scancode so we can always remap the key */
input_event(kp.dev, EV_MSC, MSC_SCAN, event);
+ input_report_key(kp.dev, kp.key, 1);
input_sync(kp.dev);
/* schedule key release */
next prev parent reply other threads:[~2011-10-19 22:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-16 11:11 sony-laptop driver: Volume keys on Sony Vaio TX3 don't work John Hughes
2011-10-16 12:30 ` Bug: changing keycodes generated by sony-laptop doesn't work John Hughes
2011-10-16 13:30 ` John Hughes
2011-10-17 9:08 ` John Hughes
2011-10-16 13:27 ` sony-laptop driver: Volume keys on Sony Vaio TX3 don't work John Hughes
2011-10-16 17:45 ` John Hughes
2011-10-16 18:20 ` Valdis.Kletnieks
2011-10-16 21:38 ` Mattia Dongili
2011-10-16 21:50 ` Valdis.Kletnieks
2011-10-16 23:17 ` John Hughes
2011-10-17 21:43 ` Mattia Dongili
2011-10-18 9:02 ` John Hughes
2011-10-17 21:45 ` Mattia Dongili
2011-10-18 9:07 ` John Hughes
2011-10-19 22:01 ` John Hughes [this message]
2011-10-16 23:13 ` John Hughes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E9F48A8.3020507@calvaedi.com \
--to=john@calvaedi.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=john@Calva.COM \
--cc=linux-kernel@vger.kernel.org \
--cc=malattia@linux.it \
--cc=platform-driver-x86@vger.kernel.org \
--cc=stelian@popies.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.