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;