Author Topic: Adding a Trackpoint to an Inexpensive Mechanical Keyboard  (Read 38424 times)

0 Members and 1 Guest are viewing this topic.

Offline klapse

  • Thread Starter
  • Posts: 9
Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« on: Thu, 27 December 2018, 06:33:11 »
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! :D

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:
Code: [Select]
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!










Offline Findecanor

  • Posts: 4228
  • Location: Stockholm, Sweden
  • Dans öl tarvö... "Pöngö"
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #1 on: Thu, 27 December 2018, 07:22:05 »
Welcome to Geekhack!

Nice mod! Your images hosted on abload.de don't seem to work in a post for some reason. I had to press "quote", find them, copy and paste into the browser's address bar to watch them.

https://abload.de/img/6beky.jpg
https://abload.de/img/yqe1w.jpg
https://abload.de/img/bgfpe.jpg
https://abload.de/img/6if8t.jpg
https://abload.de/img/lmfkt.jpg

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.
Then you haven't looked around here long enough. ;)
There are a few other people here who have done that .. but the threads might be a bit old by now and maybe lack images so it would be understandable if they are not easy to find.

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! 
Cool. But I think it has Kailh Choc Mini switches, not Cherry MX. ;)

Trying to center the bit on the 3.5mm wide trackpoint nub was HARD!
A common solution to that problem is to first punch a small indent that the drill bit would catch into. There are dedicated "hole-punch" tools that are spring-loaded so you would only need to press it down to make an indent but a nail and hammer would work.

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).
Some trackpoints controllers are known to speak PS/2 signals, even some found in relatively modern ThinkPad keyboards. If you are lucky, you might be able to replace the Thinkpad keyboard's controller with a cable to your Linux PC.
« Last Edit: Thu, 27 December 2018, 07:23:44 by Findecanor »
Smplesh dar Ventöl pööl pööl
Daily driver: Phantom (Lubed Cherry MX Clear, Lasered Cherry PBT keycaps with Row A. Plastic "Frankencase". Custom firmware, Swedish layout)

Offline klapse

  • Thread Starter
  • Posts: 9
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #2 on: Thu, 27 December 2018, 07:48:43 »
"A common solution to that problem is to first punch a small indent that the drill bit would catch into. "

I didn't want to take a hammer to a sensor. :)

Thanks for the tips!  How do I figure out if the Trackpoint is sending ps/2 signals over the flat cable?  Which pins correspond to which ps/2 cables?  How do i connect between a flat cable and a normal cable? 

Another interesting t hing is the thinkpad keyboard controller has 2 usb ports, however neither will drive any peripheral i have tried.
I always get
Code: [Select]
kernel: [120838.798408] usb 1-3.2: rejected 1 configuration due to insufficient available bus power  regardless of which peripheral i try.  I used two different Lenovo controller boards, both had same errors on both ports.  Hooking up a small USB cable with lighting showed power/light.

If i could get that working, it might allow daisy-chaining the Sharkoon keyboard behind the thinkpad controller's usb port - meaning I only need to run one cable to the pc / laptop.

Maybe these boards are rejects?  Can i bridge a wire from the usb power line from the laptop, straight to the power line on one of the output usb ports?

Cheers!

Also I wonder If there might be some way to wire-up mouse buttons - emulating the ones below the Lenovo keyboard...

Although I could write a hack to get mouseclicks from keyboard, I'm more into the idea of using the mouse buttons from the Lenovo.   I managed to somehow scrape-out the keymat without too much damage.  Mouse buttons still work!
So maybe I could mount mouse buttons on front, then wrap the folded keymat along the bottom of the case, back to the logic board....


« Last Edit: Thu, 27 December 2018, 12:00:52 by klapse »

Offline RoseFlorida

  • Posts: 1
  • Location: USA
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #3 on: Wed, 02 January 2019, 15:29:41 »
I want two nibs, one for each index finger, with less of a stretch.

Offline barrel

  • Posts: 24
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #4 on: Wed, 02 January 2019, 18:35:34 »
As a resident ThinkPad Lover you've grabbed my attention.

Offline klapse

  • Thread Starter
  • Posts: 9
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #5 on: Sun, 13 January 2019, 08:34:33 »
Nice to meets y'all :)

Amazingly nothing has broken yet.  Trackpoint action is .. perfect.  Scared to do the keymat+buttons...

Offline Coreda

  • Posts: 699
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #6 on: Sun, 13 January 2019, 09:19:42 »
Btw in case anyone is wondering why the topic has so many views it reached the first page of Hacker News a short while ago.

Offline klapse

  • Thread Starter
  • Posts: 9
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #7 on: Thu, 17 January 2019, 02:15:11 »
Show Image


Is there any DIY way to wire-up the trackpoint buttons to the Lenovo kyemat controller without having to stuff the entire keymat into the housing under my new keyboard?



Offline hanya

  • Posts: 101
  • Location: Japan
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #8 on: Thu, 17 January 2019, 03:26:23 »
Is there any DIY way to wire-up the trackpoint buttons to the Lenovo kyemat controller without having to stuff the entire keymat into the housing under my new keyboard?
You can not solder wires onto the matrix sheet made by PET (in general). Solder wire onto copper tape with conductive adhesive and paste it on the matrix line.
PFU HHKB JP, Sanwa MA-TB38 trackball

Offline klapse

  • Thread Starter
  • Posts: 9
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #9 on: Wed, 23 January 2019, 15:20:43 »
How do I expose the trace?  Can i buy something that will dissolve the pet?

Offline Degutis

  • Posts: 3
  • Location: Cibolo, Texas
  • Degutis aka de gut is
Re: Adding a Trackpoint to an Inexpensive Mechanical Keyboard
« Reply #10 on: Mon, 08 July 2019, 07:00:35 »
Found one more tutorial by Rich Hawkes - Add A Trackpoint To A Mechanical Keyboard on Hackaday.
I consider trackpoint much more intuitive than Touchpad. I've been thinking to find one of the Lenovo keyboards for trackpoint, however, I'm still in search for the better price. I've never bought a keyboard that cost more than $16. 

________________________
Degutis >> de gut is
https://writemyessaytoday.net/