Hello, the attached patch adds support for the wireless RC supplied with MEDION (ALDI) PCs and fixes an obvious typo which reverses the function of the VOL+ and VOL- keys.
The key mapping isn't perfect (this remote has some additional keys) but I don't know to handle this without possibly breaking the original key mapping. Wolfgang
--- ati_remote.c.orig 2004-04-10 15:12:10.887805232 +0200 +++ ati_remote.c 2004-04-10 14:51:13.457963624 +0200 @@ -113,6 +113,7 @@ MODULE_PARM_DESC(debug, "Enable extra de static struct usb_device_id ati_remote_table[] = { { USB_DEVICE(ATI_REMOTE_VENDOR_ID, ATI_REMOTE_PRODUCT_ID) }, + { USB_DEVICE(ATI_REMOTE_VENDOR_ID, 0x0006) }, /* ATI Wireless Remote Receiver */ {} /* Terminating entry */ }; @@ -243,8 +244,8 @@ static struct {KIND_FILTERED, 0xe7, 0x22, EV_KEY, KEY_DOWN, 1}, /* down */ {KIND_FILTERED, 0xdf, 0x1a, EV_KEY, KEY_UP, 1}, /* up */ {KIND_FILTERED, 0xe3, 0x1e, EV_KEY, KEY_ENTER, 1}, /* "OK" */ - {KIND_FILTERED, 0xce, 0x09, EV_KEY, KEY_VOLUMEDOWN, 1}, /* VOL + */ - {KIND_FILTERED, 0xcd, 0x08, EV_KEY, KEY_VOLUMEUP, 1}, /* VOL - */ + {KIND_FILTERED, 0xce, 0x09, EV_KEY, KEY_VOLUMEUP, 1}, /* VOL + */ + {KIND_FILTERED, 0xcd, 0x08, EV_KEY, KEY_VOLUMEDOWN, 1}, /* VOL - */ {KIND_FILTERED, 0xcf, 0x0a, EV_KEY, KEY_MUTE, 1}, /* MUTE */ {KIND_FILTERED, 0xd1, 0x0c, EV_KEY, KEY_CHANNELUP, 1}, /* CH + */ {KIND_FILTERED, 0xd0, 0x0b, EV_KEY, KEY_CHANNELDOWN, 1},/* CH - */ @@ -689,12 +690,14 @@ static int ati_remote_probe(struct usb_i char path[64]; char *buf = NULL; +#if 0 + /* FIXME: must we do this check? */ /* See if the offered device matches what we can accept */ if ((udev->descriptor.idVendor != ATI_REMOTE_VENDOR_ID) || (udev->descriptor.idProduct != ATI_REMOTE_PRODUCT_ID)) { return -ENODEV; } - +#endif /* Allocate and clear an ati_remote struct */ if (!(ati_remote = kmalloc(sizeof (struct ati_remote), GFP_KERNEL))) return -ENOMEM;