Touchpad with 2 buttons instead of clickpad?

Would someone be able to create an input module that’s an older-style touchpad with individual left/right buttons, instead of a “clickpad”?

I know the old touchpad parts still exists as Clevo uses them.

5 Likes

Welcome to the forum.
Yes, there is the possibility that someone could make a touchpad module with buttons. Though it might have to connect to a different spot than the stock touchpad modules use, as it’s not clear what interface those spots use.

I personally really hope someone does create one. With left, right, and middle buttons.

6 Likes

This would be very much appreciated. Although I usually have a mouse attached, I do sometimes use the touchpad. I dislike clickpads and would definitely be willing to sacrifice touchpad space for buttons. The 3"x2" touchpad on my aging Thinkpad T520 is large enough. Also, I use middle-click paste on Linux extremely often, so three buttons would be my desire.

How do I link in with someone who can do this?

My framework is due Q1 and I would like to commission a touchpad by then.

Well, first we need the touchpad docs.

You might check in with the crew in the trackpoint keyboard thread. Although some thinkpads integrate the trackpoint buttons with the keyboard (and that’s what I’m personally working on) there are also models of thinkpad where the mouse buttons and touchpad are a separate assembly, for example:

That might be a good source of parts for a framework touchpad module w/ integrated buttons.

2 Likes

I’m not a hardware person so my next question will sound really stupid …

Just to be clear nothing can happen now because they haven’t actually released the information that the hardware people need to know about the touchpad like what wires go where, what to solder, and what to connect to pogo pins? Those “docs”?

Thank you for answering, I’ll post something in the thread and then lurk.

Yes, although yesterday we got some more information from @nrp which fills in a lot of the blanks on the hardware side, we still don’t know the exact I2C protocol to use (that’s software side). The bigger limitation is really just that very few people have hardware outside of Framework, so the mechanical part (how tall/wide/thick can the touchpad be) is uncertain. If you’ve got the machine in your hands you can take out a ruler and micrometer and work this out in relatively short order, so this will resolve itself in time, especially as batch 1 makes its way out into the world.

2 Likes

I understand. Thanks.

I’m batch 8 so I have time to wait. :smiley:

As long as the I2C bus the touchpad uses is exposed to the OS, it should be possible to use any HID over I2C compatible touchpad - at least on Linux. I’ve also previously owned a laptop where the buttons are a separate device from the touch area, and as long as they’ve got separate I2C addresses, that should work fine as well. Whether or not it’d work on Windows without a custom driver, or work in the EUFI at all without further information - I have no idea.

Mechanical side looks straightforward:

I’m using a T470S clickpad module, and the schematic on the T470S side of this looks like this:


And very similar on the T480S:

It’s I2C at least – /three/ I2C buses actually: TP4CLK/DATA (trackpoint bus), SMB_CLK/DATA_3B, and IPDCLK/DATA. No obvious interrupt, but a bunch of disable signals: /LID_CLOSE, PAD_DISABLE, and NFC_ACTIVE.

I confirmed that my module has a 12 pin connector, and pin 1 is actually marked on the module. The FPC connector is Kyocera 04-6811-612-000-846 https://ele.kyocera.com/en/product/connector/fpcffc_connectors/6811/046811612000846/ which is 12 pin, 0.5mm pitch, at least on the motherboard side. Looks like the module connector is the same.

I guess the next step is to make a little breakout board, wire up all three I2C buses, and enumerate them all and see what shows up.

2 Likes

Some progress here! I sent off a “top surface” blank to be fabricated as a 0.8mm PCB, and designed some 3d-printable parts for the touchpad latch mechanisms.

Designs are open source & published at GitHub - cscott/TouchpadSpacerFW16: Touchpad Input Module parts for the Framework 16 laptop

2 Likes

This is great news, lurking with excitement!

So I read through the Microsoft HIC over I2C spec and one unusual thing is that the device’s I2C address has to be specified in the BIOS ACPI info. Everything after that point is plug and play, though. So it’s possible that we’d need an I2C device address translator to ensure the ThinkPad touchpad uses the same I2C address as the stock framework touchpad. Those exist, though.

(For future reference, USB-to-HID-over-I2C bridges also exist, which would let you use the built-in touchpad as an external USB device, if anyone wanted to do that.)