Greetings Geekhack!
I've always been a Trackpoint fan and this year found a 'good deal' on some Lenovo USB keyboards (OldStyle, not chiklet). Ordered 5, paid the horrendous Customs+VAT, had to drive to the customs office to pick them up. The usual joy.
But the joy was great as I arrived home and put 4 of them into the cupboard and set about happly typing on the somewhat flimsy but basically functional Thinkpad design.
Then the keys started dying.
No mechanical problems, no spills, no static electricity problems. Just 3-5 keys stopped working. On any connected computer. Upsetting but I had spares. Or so I thought. One after another, the remaining Lenovo keyboards developed the same problem - a few keys were completely unresponsive. Trackpoints still worked though.
'Maybe it was a bad batch', I thought, as I ordered my 6th Lenovo USB keyboard of 2018. This one had the 10key I don't like or need, but it was 'affordable' at only 130€, vs the 140€ I ended up paying for the others. After a few weeks, this one lost 3 keys.
Now I'm not the brightest bulb in the box but I figured maybe it was time to stop buying Lenovo USB keyboards. Drove out to the local store and picked-up the only TKL keyboard that didn't feel like absolute junk - A 'Sharkoon' Purewriter with Mx Blue switches (Chinese) for about 50€. Quickly I grew to love the switches and my typing speed began to recover to closer to what I typed in the 90s. Fantastic! But... I kept reaching for the missing trackpoint.
I couldn't find hacks online of people who frankenstein'd-in a trackpoint to an existing keyboard, so i just started taking things apart to see if I could scry a solution.
I had hoped to perhaps drill through the Sharkoon's circuit board - somewhere with no traces - and mount the trackpoint module below the keyboard, with some kind of extender. Turns out the circuit board is full of traces between GHY keys, but between HJYU there is an existing hole (to make contact with the base, for stiffness). Woohoo!
Next was to find some appropriate thin rod that could serve as an extending-shaft up through the hole. After searching around the house, i came up with sewing machine needles. Plenty strong, maybe 0.8-1mm thick, and a wider top for grip. Perfect. After more searching i found a 1mm HSS drill-bit ... but i had no chuck for such a small bit!
Now a real german would have sourced the proper tools for the job, but I wanted to get done before sunrise, so I wrapped a strip of duct tape around the drill bit, making an interface to the chuck of the dremel...
It wobbled horribly!
Trying to center the bit on the 3.5mm wide trackpoint nub was HARD!
But finally i got close enough.
I cut off the bottom of the needle and it fit snugly!
Next I needed some way to affix the module to the bottom of the keyboard. I saw those little black plastic round dots on the underside of the switches as suitable targets to sink small metal screws in - if the hole diameter was a bit smaller than the screw (works pretty well with most plastics).
I discovered that the plastic is quite thin so to help with strength i cut 3 layers of 3m double-sided tape to fill the gap - after clipping off the bottom of those soldered-in wires. After drilling 3 more holes to mount the unit to the backplate, and a large center hole through which the trackpoint nub goes, the deal looked like this.
Yeah it's not perfectly aligned. Not caring about that.
Here i've begun grinding edges of Keycaps and needle was inserted to measure height to cut-off top of needle:
Needle top cut off and inserted into the plastic nub-mount from the original trackpoint. Adhesive is a industrial filling, rigid adhesive (cyanoacrylate-based, by the smell) .
A bit of dremeling in the case cleared-out enough room for the circuitboard+trackpoint module to fit inside the original case! Flat cable from trackpoint module routed out of back of case to controller board from Lenovo keyboard.
And it works! I didn't break anything! The pointer response with the longer lever is a dream!
However, the module is rotated 180° to allow cable to exit the back of keyboard, reversing the x/y controls. On linux this requires inverting pointer transform in X11, so i have to run 'xinput' to find the id number (in my case 25) and then the following command:
xinput --set-prop --type=float 25 142 -0.6 0.0 0.0 0.0 -0.6 0.0 0.0 0.0 1.0
For all the sloppy measuring and inappropriate tools, it came out pretty nice for a night's work! Feels rock-solid too, no wobble at all.
For now i'm using laptop mouse buttons, but I'm considering triggering them with L-Alt and R-AltGr keys, moving alt to the windows key.
At some point i'd like to make a case for the controller, or maybe even hide it under the kbd (making it approx 0.5cm taller).
I'm out of things to write. Hope you enjoyed it and maybe see some ideas you can use! I am not a hardware person and I don't know what I'm doing so don't yell at me for all my mistakes, please.
Cheers!