# CMDR keyboard 42

![image](mCAD/cmdr-keyboard-42-v1_photo.png)

Keyboard based on standard teensy "Keypad" library for button scanning, standard teensy
"usb_keyboard" library for HID keyboard usb data communication.

## Layout

```cpp
 Layer 0
 ---------------------------------------      ---------------------------------------
 |  Tab  |  Q  |  W  |  E  |  R  |  T  |      |  Y  |  U  |  I  |  O  |  P  |   Å   |
 | LCtrl |  A  |  S  |  D  |  F  |  G  |      |  H  |  J  |  K  |  L  |  Ö  |   Ä   |
 | Shift |  Z  |  X  |  C  |  V  |  B  |      |  N  |  M  |  ,  |  .  |  -  | Shift |
 --------------------| Alt | Fn  | Spc |      | Spc | Fn  |     |--------------------
                     -------------------      -------------------
 Layer 1 (Fn)
 ---------------------------------------      ---------------------------------------
 |  Esc  |  F1 |  F2 |  F3 |  F4 |  F5 |      |  F6 |  F7 |  F8 |  F9 | F10 | BSpc  |
 | LCtrl |  1  |  2  |  3  |  4  |  5  |      |  6  |  7  |  8  |  9  |  0  | Enter |
 | Shift |  6  |  7  |  8  |  9  |  0  |      |  <  |  ´  |  '  |  ¨  |  +  | Shift |
 --------------------| Alt | Fn  | BSpc|      | BSpc| Fn  |AlrGr|--------------------
                     -------------------      -------------------
 Layer 2 (Fn + Fn)
 ---------------------------------------      ---------------------------------------
 |  F11  | F12 | F13 | F14 | F15 | F16 |      |  §  |GuiLK| Gui |     | CpLk| BSpc  |
 | LCtrl | Play| Next| F17 | F18 | F19 |      | Left| Down| Up  |Right| Del | Enter |
 | Shift | F20 | F21 | F22 | F23 | F24 |      | Home| PgD | PgU | End | Ins | Shift |
 --------------------| Alt | Fn  | Gui |      | BSpc| Fn  |     |--------------------
                     -------------------      -------------------
```

## Features

- 42 keys "Split" keyboard layout. 36 finger buttons and 6 thumb buttons.
- Extreme low profile (only one pcb).
- Cost efficient solution with one pcb and one 3D printed cover.
- Function keys with total of three layer support (Primary + 2fn layers).
- Status indication -
  - LED off = Normal mode
  - LED flashing = Caps Lock activated
  - LED on = Gui key lock activated

## Build environment

- Platformio
  - env: teensylc
  - platform: teensy
  - board: teensylc
  - framework: arduino
- Flashing via Teensy USB bootloader
  - Pressing boot button on teensy
  - Pressing all four corners on the keyboard

## Hardware

[Schematics](build/cmdr_mainboard_v1.pdf)

- 1x TeensyLC MCU
- 36x Cherry MX compatible switches
- 6x Kailh Choc low profile switches
- 42x 1N4148 diodes
- 1x PCB [Gerber files](build/cmdr_mainboard_gerber_v1.zip)
- 1x MCU cover (optional) [STL file](build/cmdr_keyboard-Cover.stl)
- 1x 6x3 Cherry MX mounting jig (optional) [STL file](build/cmdr_mounting_jig-MountingJig.stl)
