On Wed, 2005-03-30 at 17:10 +0200, Antonio-M. Corbi Bellot wrote: > > T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 > D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 > P: Vendor=05ac ProdID=030a Rev= 0.06 > S: Manufacturer=Apple Computer > S: Product=Apple Internal Trackpad > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 40mA > I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=(none) > E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl=1ms
Is that all? Mine reads: T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=05ac ProdID=020e Rev= 0.28 S: Manufacturer=Apple Computer S: Product=Apple Internal Keyboard/Trackpad C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr= 40mA I: If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=10ms I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=AppleTrackpad E: Ad=81(I) Atr=03(Int.) MxPS= 32 Ivl=1ms I: If#= 2 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid E: Ad=84(I) Atr=03(Int.) MxPS= 1 Ivl=10ms I take it then your keyboard is not connected via USB. Well, try the attached patch and test program (to compile just run 'make ,,test'). Then insmod the changed driver, and run the test program as follows: ./,,test > /tmp/dump wait a few seconds, maybe press touchpad button a bit and move the finger over the touchpad, kill the program with ctrl-c, bzip2 the file and send it to me (privately please, not on list). johannes
--- orig/appletrackpad.c +++ mod/appletrackpad.c @@ -29,6 +29,7 @@ #define APPLE_VENDOR_ID 0x05AC #define TP_PRODUCT_ID1 0x020E #define TP_PRODUCT_ID2 0x020F +#define TP_12INCH_ID 0x030A #define TP_DRIVER_VERSION 0x0001 /* 00.01 */ @@ -42,6 +43,7 @@ static struct usb_device_id apple_tp_table [] = { { TP_DEVICE(TP_PRODUCT_ID1) }, { TP_DEVICE(TP_PRODUCT_ID2) }, + { USB_DEVICE(APPLE_VENDOR_ID, TP_12INCH_ID) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, apple_tp_table);
/* * Apple TrackPad test program * * Copyright (C) 2005 Johannes Berg ([EMAIL PROTECTED]) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation, version 2. * * arch-tag: 2586e5ef-0be6-4240-a50e-49bcb0f188ac */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdio.h> #include <math.h> #include <string.h> #define DEVICE "/dev/apple_trackpad0" int main() { int fd = open(DEVICE, O_RDWR); char buffer[1024]; if (fd == -1) { perror ("open failed"); return -1; } while (1) { int len = read(fd, buffer, sizeof(buffer)); printf("%d:", len); if (len >= 0) for (int i=0; i<len;i++) printf(" %.2x", buffer[i]); printf("\n"); } }
signature.asc
Description: This is a digitally signed message part