keybrd Tutorial 4 - Connecting split keyboards
===============================================
Split keyboards have left and right parts:
* one keyboard half contains the controller and USB port.
* the other keyboard half can contain shift registers or an I/O expander.
The two halves need to be connected.
The preferred connection method depends on the number of keys, number of available controller pins, cable flexibility, LEDs, and cost.
## Split keyboard connections table
| connection type | controller pins | wire count | max keys |
|------------------------|:---------------:|:----------:|:--------:|
| just cable | 3 | 6 | 9 |
| just cable | 3 | 7 | 12 |
| just cable | 4 | 8 | 16 |
| just cable | 4 | 9 | 20 |
| | | | |
| 2 PISO shift registers | 3 | 5 | 16 |
| 3 PISO shift registers | 3 | 5 | 24 |
| | | | |
| I/O expander SPI | 4 | 6 | 64 |
| I/O expander I2C | 2 | 4 | 64 |
Fewer wires makes a cable more flexible.
A flexibility cable makes it easy to position the keyboard and route the cable.
But if there are enough pins on the controller, using just a cable with more wires is simpler and costs less.
I/O Expanders can power LEDs, while PISO shift registers can not.
I2C is fast enough for scanning up to 5 rows.
SPI is much faster, but requires 2 additional wires.
More scanning options are reviewed at http://www.openmusiclabs.com/learning/digital/input-matrix-scanning/
## Cables table
| connector name | wire count |
|-------------------------------------------------------|:----------:|
| TRRS | 4 |
| 6-pin mini-DIN connector (PS/2) | 4 |
| USB 2 | 4 |
| 4P4C Modular connector (RJ9, RJ10, RJ22) handset plug | 4 |
| 6P4C Modular connector (RJ-14) 2-line phone | 4 |
| 6P6C Modular connector (RJ12) 3-line phone | 6 |
| eSATA | 7 |
| 8p8c Modular connector (RJ45) Ethernet | 8 |
| USB 3.0, 3.1 | 9 |
Only ready-made cables that are widely available are listed.
There are hundreds of other connectors listed at http://pinouts.ru/
There are also wireless options if you don't mind adding complexity and maintaining a battery.
The 8-wire "GearIT Cat 6 Ethernet Flat Patch Cable 7 Feet" is very flexible.
It's available at Walmart (9/19/16) if you want to feel the merchandise before you buy.
All the modular connector cables are available in the flat form factor.
For prototyping on perfboards, consider a 0.1" header.
keybrd tutorial by Wolfram Volpi is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at https://github.com/wolfv6/keybrd/issues/new.