Hey all,
For those of you who have had problems with a Targus PAWM004, I've run into an interesting document to help fix those keycodes. Apparently, the usage-code in input/input.c is the same for all three keypresses on this mouse, so the usb driver ignores them.
More information regarding this problem and how to diagnose and fix can be found at
http://www.amitysolutions.com.au/doc...3-technote.pdf
Special thanks to Jon Barnett for this fix. It's quick and dirty, requires a rebuild of the usb modules or an entire kernel rebuild. If you're new to this, check out
http://www.digitalhermit.com/linux/K...ild-HOWTO.html
That should get you started.
I've put together a patchfile for the 2.6.10 kernel, if anybody is interested. Have fun!
E-Mail me at jfryman (at) gmail (dot) com if you're in need of help.
-James
diff -rcNP /usr/src/linux-2.6.10/drivers/usb/input/hid-core.c /usr/src/linux-2.6.10-targus/drivers/usb/input/hid-core.c
*** /usr/src/linux-2.6.10/drivers/usb/input/hid-core.c 2004-12-24 16:34:58.000000000 -0500
--- /usr/src/linux-2.6.10-targus/drivers/usb/input/hid-core.c 2005-02-06 09:58:03.631626632 -0500
***************
*** 784,789 ****
--- 784,797 ----
static void hid_process_event(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value, struct pt_regs *regs)
{
hid_dump_input(usage, value);
+ // Addition (Targus PAWM004 Mouse)
+ if (usage->hid==589825)
+ usage->code = 272;
+ if (usage->hid==589826)
+ usage->code = 273;
+ if (usage->hid==589827)
+ usage->code = 274;
+ // End Addition
if (hid->claimed & HID_CLAIMED_INPUT)
hidinput_hid_event(hid, field, usage, value, regs);
if (hid->claimed & HID_CLAIMED_HIDDEV)