From owner-freebsd-mobile Wed Mar 15 22:17:50 2000 Delivered-To: freebsd-mobile@freebsd.org Received: from pau-amma.whistle.com (pau-amma.whistle.com [207.76.205.64]) by hub.freebsd.org (Postfix) with ESMTP id 958B537B564 for ; Wed, 15 Mar 2000 22:17:44 -0800 (PST) (envelope-from dhw@whistle.com) Received: (from dhw@localhost) by pau-amma.whistle.com (8.9.2/8.9.3) id WAA01542; Wed, 15 Mar 2000 22:17:43 -0800 (PST) (envelope-from dhw) Date: Wed, 15 Mar 2000 22:17:43 -0800 (PST) From: David Wolfskill Message-Id: <200003160617.WAA01542@pau-amma.whistle.com> To: mobile@FreeBSD.ORG Subject: Fujitsu LifeBook 675Tx & TrackPOINT In-Reply-To: <200003112041.PAA37917@whizzo.transsys.com> Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Several days ago, I had written about the challenges I had encountered in getting an NEC Versa 6030X's touchpad & button combination to work as I wanted them to work. I got it to work OK... and then the AC adapter died. Since the only remaining battery wouldn't even hold enough charge to boot the machine, that slowed me down a bit.... :-( Then today, my manager intercepted a different laptop that was being placed in the "not in active use" area and handed it to me. This one also has 2 buttons below what looks for all the world like a touchpad (as in the GlidePoint, for example)... but apparently it's different. The laptop is a Fujitsu LifeBook 675Tx, and Fujitsu refers to the pointing device as a "TrackPOINT". Now, I wouldn't much care what they chose to call it, except that it appears to have a singularly annoying misfeature: tapping the TrackPOINT appears to be seen as equivalent to pressing, then releaseing, the left mouse button. (I ran moused in debug mode in the foregound to determine this. I have not (yet) started hacking the psm driver to verify it.) Here's the psm part from a boot -v: atkbd: keyboard ID 0x54ab (2) kbdc: RESET_KBD return code:00fa kbdc: RESET_KBD status:00aa kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 psm0: current command byte:0047 kbdc: TEST_AUX_PORT status:0000 kbdc: RESET_AUX return code:00fa kbdc: RESET_AUX status:00aa kbdc: RESET_AUX ID:0000 psm: status 00 02 64 psm: status 00 00 64 psm: status 00 03 64 psm: status 00 03 64 psm: status 10 00 64 psm: data 08 00 00 psm: status 00 02 64 psm: data 08 00 00 psm: status 00 02 64 psm0: flags 0x800 irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons psm0: config:00000800, flags:00000000, packet size:3 psm0: syncmask:c0, syncbits:00 vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 (As you can see, I did try setting the PSM_CONFIG_FORCETAP (0x0800) flag in the kernel -- I saw that there was some Microsoft product installed on the disk and rehabilitated the machine by installing FreeBSD 4.0-RELEASE on it.) Here's what moused says [with my annotations is square brackets]: dhcp-130[3] sudo kill `cat /var/run/moused.pid ` && sudo moused -p /dev/psm0 -f -d Password: moused: proto params: f8 80 00 00 8 00 ff moused: port: /dev/psm0 interface: ps/2 type: sysmouse model: generic [OK; I killed off moused & started it in foreground, with debug turned on. The above is moused's announcement of what it has to work with. I'm about to tape the TrackPOINT once.] moused: received char 0x83 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 83,0,0,0,0,0,0,7f moused: activity : buttons 0x00000001 dx 0 dy 0 dz 0 moused: tv: 953186845 711346 moused: : 0 0 moused: button 1 count 1 moused: received char 0x87 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 moused: tv: 953186845 886448 moused: button 1 count 0 [OK; that was fun. Let's try the left mouse button, for comparison.] moused: received char 0x83 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 83,0,0,0,0,0,0,7f moused: activity : buttons 0x00000001 dx 0 dy 0 dz 0 moused: tv: 953186921 122212 moused: : 953186846 386448 moused: button 1 count 1 moused: received char 0x87 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 moused: tv: 953186921 187432 moused: button 1 count 0 [I'll show a uni-diff of those below. Meanwhile, here's what the right button looks like to moused.] moused: received char 0x86 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 86,0,0,0,0,0,0,7f moused: activity : buttons 0x00000004 dx 0 dy 0 dz 0 moused: tv: 953187172 370262 moused: : 0 0 moused: button 3 count 1 moused: received char 0x87 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 moused: tv: 953187172 396388 moused: button 3 count 0 [So there is a discernable difference.] Now, here are the promised diffs. First, the TrackPOINT vs. button 1: bunrab[6] diff -u tp b1 --- tp Wed Mar 15 22:08:20 2000 +++ b1 Wed Mar 15 22:08:03 2000 @@ -8,8 +8,8 @@ moused: received char 0x7f moused: assembled full packet (len 8) 83,0,0,0,0,0,0,7f moused: activity : buttons 0x00000001 dx 0 dy 0 dz 0 -moused: tv: 953186845 711346 -moused: : 0 0 +moused: tv: 953186921 122212 +moused: : 953186846 386448 moused: button 1 count 1 moused: received char 0x87 moused: received char 0x0 @@ -21,5 +21,5 @@ moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 -moused: tv: 953186845 886448 +moused: tv: 953186921 187432 moused: button 1 count 0 and then, left button vs. right button: bunrab[7] diff -u b1 b2 --- b1 Wed Mar 15 22:08:03 2000 +++ b2 Wed Mar 15 22:12:09 2000 @@ -1,4 +1,4 @@ -moused: received char 0x83 +moused: received char 0x86 moused: received char 0x0 moused: received char 0x0 moused: received char 0x0 @@ -6,11 +6,11 @@ moused: received char 0x0 moused: received char 0x0 moused: received char 0x7f -moused: assembled full packet (len 8) 83,0,0,0,0,0,0,7f -moused: activity : buttons 0x00000001 dx 0 dy 0 dz 0 -moused: tv: 953186921 122212 -moused: : 953186846 386448 -moused: button 1 count 1 +moused: assembled full packet (len 8) 86,0,0,0,0,0,0,7f +moused: activity : buttons 0x00000004 dx 0 dy 0 dz 0 +moused: tv: 953187172 370262 +moused: : 0 0 +moused: button 3 count 1 moused: received char 0x87 moused: received char 0x0 moused: received char 0x0 @@ -21,5 +21,5 @@ moused: received char 0x7f moused: assembled full packet (len 8) 87,0,0,0,0,0,0,7f moused: activity : buttons 0x00000000 dx 0 dy 0 dz 0 -moused: tv: 953186921 187432 -moused: button 1 count 0 +moused: tv: 953187172 396388 +moused: button 3 count 0 So does anyone know of a way to distinguish a "tap" from pressing button 1 on this device? Thanks, david (who promises to summarize....) -- David Wolfskill dhw@whistle.com UNIX System Administrator voice: (650) 577-7158 pager: (888) 347-0197 FAX: (650) 372-5915 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message