[Fwd: [PATCH] appleir: Enable appleir on new macbooks (CC me on replies)]
Alexander Karpenko
alexander at comm.utoronto.ca
Sat Aug 2 01:16:08 BST 2008
Hello I've emailed this patch to kernel-team, but have gotten no reply
in a week. I'm not sure whether kernel-team was the correct mailing list
for the patch, so I'm resending it here. This is a trivial patch that
fixes the IR receiver on new Macbooks, allowing the Macs to be
controlled with a remote.
The bug is detailed
here https://bugs.launchpad.net/mactel-support/+bug/157919
Please CC me on replies as I'm not subscribed to this mailing list.
Regards,
Alex
-------- Forwarded Message --------
> From: Alexander Karpenko <alexander at comm.utoronto.ca>
> To: kernel-team at lists.ubuntu.com
> Subject: [PATCH] appleir: Enable appleir on new macbooks (CC me on
> replies)
> Date: Sun, 27 Jul 2008 16:14:40 -0400 (EDT)
>
> The Device ID of the IR receiver has changed on new Macbooks. This patch adds the new Device ID to the appleir driver in order to enable remote control.
> In addition, the patch changes the key codes for back and forward to correspond with those used on apple keyboards.
>
> Signed-off-by: Alexandre Karpenko <alexander at comm.utoronto.ca>
> ---
> Patch was originally posted and tested at:
> https://bugs.launchpad.net/mactel-support/+bug/157919
>
> --- ubuntu/mactel/appleir_old.c 2008-06-10 12:57:18.000000000 -0400
> +++ ubuntu/mactel/appleir.c 2008-07-27 15:48:20.000000000 -0400
> @@ -34,6 +34,9 @@ MODULE_LICENSE (DRIVER_LICENSE);
> #ifndef USB_DEVICE_ID_APPLE_IR
> #define USB_DEVICE_ID_APPLE_IR 0x8240
> #endif
> +#ifndef USB_DEVICE_ID_APPLE_IR2
> +#define USB_DEVICE_ID_APPLE_IR2 0x8242
> +#endif
>
> #define URB_SIZE 32
>
> @@ -56,6 +59,7 @@ struct appleir
>
> static struct usb_device_id appleir_ids[] = {
> {USB_DEVICE (USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IR),.driver_info = 0},
> + {USB_DEVICE (USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IR2),.driver_info = 0},
> {}
> };
>
> @@ -84,11 +88,20 @@ MODULE_DEVICE_TABLE (usb, appleir_ids);
> /* as a flat battery message */
> /* 25 87 e0 ca 06 flat battery */
>
> +/* Alexandre Karpenko reports the following responses for Device ID 0x8242 */
> +/* 25 87 ee 47 0b + */
> +/* 25 87 ee 47 0d - */
> +/* 25 87 ee 47 08 << */
> +/* 25 87 ee 47 07 >> */
> +/* 25 87 ee 47 04 >" */
> +/* 25 87 ee 47 02 menu */
> +/* 26 87 ee 47 ** for key repeat (** is the code of the key being held) */
> +
>
> static int keymap[MAX_KEYS] = {
> KEY_RESERVED, KEY_MENU,
> - KEY_PLAYPAUSE, KEY_NEXTSONG,
> - KEY_PREVIOUSSONG, KEY_VOLUMEUP,
> + KEY_PLAYPAUSE, KEY_FORWARD,
> + KEY_BACK, KEY_VOLUMEUP,
> KEY_VOLUMEDOWN, KEY_RESERVED
> };
>
> @@ -146,7 +159,7 @@ static void
> new_data (struct appleir *appleir, uint8_t * data, int len)
> {
> static const uint8_t keydown[] = { 0x25, 0x87, 0xee };
> - static const uint8_t keyrepeat[] = { 0x26, 0x00, 0x00, 0x00, 0x00 };
> + static const uint8_t keyrepeat[] = { 0x26 };
> static const uint8_t flatbattery[] = { 0x25, 0x87, 0xe0 };
>
> #ifdef DUMP_PACKETS
More information about the ubuntu-devel
mailing list