macintosh/adbhid.c: adb buttons support for aluminium PowerBook G4
Subsystems (2)
PATCH 1/1 macintosh/adbhid.c: adb buttons support for aluminium PowerBook G4
Hi,
This patch adds support for the special adb buttons of the aluminium PowerBook G4.
Signed-off-by Andreas Jaggi <[email protected]>
drivers/macintosh/adbhid.c +40 -0
@@ -555,6 +555,42 @@#endif /* CONFIG_PMAC_BACKLIGHT */ input_report_key (&adbhid[id]->input,KEY_BRIGHTNESSUP , down);break ; + +case 0xc :/* videomode switch */ +input_report_key (&adbhid[id]->input,KEY_SWITCHVIDEOMODE , down); +break ; + +case 0xd :/* keyboard illumination toggle */ +input_report_key (&adbhid[id]->input,KEY_KBDILLUMTOGGLE , down); +break ; + +case 0xe :/* keyboard illumination decrease */ +input_report_key (&adbhid[id]->input,KEY_KBDILLUMDOWN , down); +break ; + +case 0xf : +switch (data[1 ]) { +case 0x8f : +case 0x0f : +/* keyboard illumination increase */ +input_report_key (&adbhid[id]->input,KEY_KBDILLUMUP , down); +break ; + +case 0x7f : +case 0xff : +/* keypad overlay toogle */ +break ; + +default : +printk (KERN_INFO "Unhandled ADB_MISC event %02x, %02x, %02x, %02x\n" , + data[0 ], data[1 ], data[2 ], data[3 ]); +break ; + } +break ; +default : +printk (KERN_INFO "Unhandled ADB_MISC event %02x, %02x, %02x, %02x\n" , + data[0 ], data[1 ], data[2 ], data[3 ]); +break ; } }break ;
@@ -775,6 +811,10 @@set_bit (KEY_BRIGHTNESSUP , adbhid[id]->input.keybit);set_bit (KEY_BRIGHTNESSDOWN , adbhid[id]->input.keybit);set_bit (KEY_EJECTCD , adbhid[id]->input.keybit); +set_bit (KEY_SWITCHVIDEOMODE , adbhid[id]->input.keybit); +set_bit (KEY_KBDILLUMTOGGLE , adbhid[id]->input.keybit); +set_bit (KEY_KBDILLUMDOWN , adbhid[id]->input.keybit); +set_bit (KEY_KBDILLUMUP , adbhid[id]->input.keybit);break ; }if (adbhid[id]->name[0 ])
include/linux/input.h +5 -0
@@ -328,6 +328,11 @@#define KEY_BRIGHTNESSUP 225#define KEY_MEDIA 226 +#define KEY_SWITCHVIDEOMODE 227 +#define KEY_KBDILLUMTOGGLE 228 +#define KEY_KBDILLUMDOWN 229 +#define KEY_KBDILLUMUP 230 +#define KEY_UNKNOWN 240#define BTN_MISC 0x100