• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Turbo Mouse 4.0 Registers

saybur

6502
I'm reverse-engineering the vendor protocol for Kensington pointer devices and had a question for anyone who might have an ADB Turbo Mouse 4.0 or earlier (the 2-button model) on their desk.

If anyone is inclined, could you run ADBParser and do a Talk on register 1 and register 2 of the device with handler 0x32, and post the resulting data here?

I'm mainly curious if Kensington's firmware on the older version is similar to the one used the 4-button Turbo Mouse 5.0 (shout-out to @jessenator for kindly selling me his, it's been quite useful). Given their later drivers do not support the 2-button trackballs, I'm trying to figure out if the device is different enough I need to buy one to really dig into it, or if I can get away with what I've already decoded.

Alternatively, if I'm just missing obvious documentation on how the Kensington Mouse Works / Turbo Mouse software configures devices feel free to point that out too.
 
If you haven’t gotten this by Tuesday, I will be back home and can try against 3.0, 4.0, and 5.0.
 
Note that I am using some version of their driver that works with both the 4.0 and 5.0, even though the 4.0 has only two buttons. I can map double click which is nice. But it doesn’t support the 3.0.
 
Thanks, very much appreciated. Out of curiosity do you know what version of the driver you're using that handles 3.0 but not 4.0? If it doesn't work with the earlier devices I'd like to experiment with that version locally as well.
 
Thanks, very much appreciated. Out of curiosity do you know what version of the driver you're using that handles 3.0 but not 4.0? If it doesn't work with the earlier devices I'd like to experiment with that version locally as well.

I will check the driver version when I get home. But to be clear, it works with 5.0 and 4.0, not 3.0. So I get double click mapping on my two button 4.0 but I can’t get the same on my two button 3.0.
 
Just ran with my Turbo Mouse 4.0. For Register 2 I got 20094001143BFF for Register 1 I got a zero byte response. I attached screenshots if you want to double check my work. I had both the TM and a normal mouse attached, and I don't have TM drivers installed. Happy run other tests if you need. Can also install the drivers if you think it might make a difference.
 

Attachments

  • reg1.png
    reg1.png
    6.4 KB · Views: 15
  • reg2.png
    reg2.png
    6.5 KB · Views: 15
Just ran with my Turbo Mouse 4.0.
Perfect, that is exactly what I needed, thank you! Response is notably different from 5.0. Reg 2 looks like it kind of has a similar format, but values that didn't appear to do anything on mine are different on 4.0. Hmm.

If you don't have the drivers loaded, which device shows as active when you roll the trackball around? If you Talk Register 1 on that 'mouse' device it would be interesting to see if the trackball responds with data or not. Looks like it probably won't, unless the extended mouse protocol is only implemented on one of the two devices the trackball presents.

But to be clear, it works with 5.0 and 4.0, not 3.0
Reading comprehension failure from me, sorry. That makes more sense. Makes me wonder how much variability there is on the 3.0, so if you want to post similar data from that device I'd love to see what it shows!
 
If you don't have the drivers loaded, which device shows as active when you roll the trackball around? If you Talk Register 1 on that 'mouse' device it would be interesting to see if the trackball responds with data or not. Looks like it probably won't, unless the extended mouse protocol is only implemented on one of the two devices the trackball presents.
Rolling the trackball around shows the Extended Mouse as active. The mouse at the bottom of the list was a normal apple mouse that i had daisy chained off the trackball. If i unplug it then only the Extended Mouse shows up. Talking on Register 1 and 2 of the Extended Mouse just gives me an empty response.

Interesting... I just installed the drivers and now it's showing the Kensington TM entry as active when I move the trackball. Also when I read register 2 on the TM device it responds with A78C400114FFFF. Register 1 remains empty.

Anything else to check?
 
That new register 2 is great, it looks more like the one from 5.0 after configuration but with some interesting differences in specific values. I think I have enough to try making an emulated device and see if the Turbo Mouse 4.0 driver is willing to talk to it.

I just installed the drivers and now it's showing the Kensington TM entry as active when I move the trackball.
That behavior matches what the newer trackball does, as soon as the unit is configured it starts sending updates via the dev with handler 0x32 instead of the generic mouse. Both devices appear on the bus all the time though.

I'll post a rough draft of what I've figured out so far tonight for anyone curious and/or interested in firing random values at their devices.
 
Is this for TM support in Hootswitch? 🤞
It is! 😁

Plus I figured the community would benefit from other devices being able to emulate these trackballs, the Kensington drivers seem pretty good. Goal was to document well enough it could fit in with the superb ADB protocol documentation @Tashtari has already collected GitHub.
 
Back
Top