Split keyboard note, sizes for clones, fastener clarification

main
Tom Smalley 2017-02-09 19:15:23 +00:00
parent 214f443b1d
commit c4a8cadadc
1 changed files with 20 additions and 2 deletions

View File

@ -147,12 +147,25 @@ dimensions:
```
1.2 mm thick steel plate
3/16 inch spacers
3/16 inch (length) spacers
PCB
```
The PCB must be securely fastened to the plate - the force from keypresses (and
the force of pressing the keycaps onto the sliders) is transferred to the PCB,
not the plate. Making sure there are enough fastening points is also important
to keep the housings firmly sitting on the PCB and holding the domes down, or
you may end up with a "squishing" sound when keys are at the bottom of the
stroke. Put some fasteners in the central sections of the keyboard to keep it
rigid - copy Topre if in doubt.
## Hole sizes
The sizes shown in this section are for Topre keyboards - not clones! Clones
seem to be 14 x 14 mm square for 1U keys. They also require more consideration
of fastener positions since they don't have the semicircular cutouts for bolts
to pass through.
Single unit wide key housings require a hole of size 14.6 mm x 14 mm, they are
wider horizontally. The corners can be chamfered 1 mm along each edge, as Topre
does.
@ -183,7 +196,8 @@ You will need to modify a firmware quite substantially to get your keyboard
working. Your initial choice depends on your chosen microcontroller and
preferences in firmware. You need access to an ADC and some EEPROM memory in
order to store calibration values: at least 2 bytes per key, if the stored
values take 1 byte each (uint8_t).
values take 1 byte each (uint8_t). Using something like a Teensy is perfectly
fine, the initial work I did was using a Teensy 3.1/3.2.
## Basic read procedure
@ -367,6 +381,10 @@ Theoretically you could pipe the depth directly to an axis, be it a controller
axis or something more interesting like analog mouse keys. Noisy readings mean
you probably need to introduce a deadzone.
With split keyboards it is important to share the depth information over
the connection, instead of just sending keypresses digitally. This is so the
master can handle analog commands on the slave.
## Example
See [my fork of Kiibohd](https://github.com/tomsmalley/controller),