Push-Up - GPIO buttons for USB
Every now and then one would like to have some distinct
buttons on a server, pc, raspberry pi or whatever.
A keyboard would be too big, not rigid enough or does
just not fit the purpose.
So I tried to scrap an ordinary USB keyboard.
A mechanically dysfunctional keyboard is something
to get easily hold of and the keyboard controller
is just fine in most cases.
Here we go...
![](img_6288-h400.jpg)
Here we have one of those flexible keyboards.
I really don't like typing on them and since I don't run a
bar or take my laptop with me when scuba diving I've no
use for it. So this is the one.
![](img_6289-h400.jpg)
Disassembling is easy. We just need the controller on the right side.
![](img_6290-h400.jpg)
The controller board.
![](img_6291-h400.jpg)
Now there is some reverse engineering to do.
We need to know which key connects which ports on the controller board
when pressed.
![](img_6293-h400.jpg)
This shows which key connects to which ports.
![](img_6294-h400.jpg)
Test: connecting the both left most contacts produces endless
amounts of 'q'.
![](img_6296-h400.jpg)
Shopping cases and buttons: which case should it be?
![](img_6297-h400.jpg)
The grey case looks more "technical".
![](img_6299-h400.jpg)
Milling the holes for the buttons.
![](img_6300-h400.jpg)
Prepared case.
![](img_6301-h400.jpg)
Buttons mounted.
![](img_6302-h400.jpg)
Backside of the mounted buttons.
![](img_6303-h400.jpg)
Button wiring.
![](img_6304-h400.jpg)
Controller wiring.
![](img_6305-h400.jpg)
Last glimpse inside.
![](img_6306-h400.jpg)
Ready to go.
Best served with raspberry pi.
what else?
- You might like to use a triple (or higher) contact button.
So you could build the (in-) famous CTRL-ALT-DEL device.
- You might like to use a dual (or higher) contact button
to build an external '@' key to be used with digital fruit.
- Using libusb it's possible to keep the button's input apart
from the usual keyboard input and get the events
to trigger some random action. At least this works on Linux ;-)