Teensy Chorded Keyboard

teensy-chorded-keyboard provides all the necessary code to use a
Teensy board(link is external) as a chorded keyboard
via USB. This code project was inspired by the Chordite(link is external)
keyboard, though it is not necessarily specifc to it.

Installation

Configuration

For the moment, the keyboard can only be configured by editting the source
files directly.

Configuring for a Chordite keyboard

  • The constants PINKY_L, PINKY_H, etc. define the pin numbers for the low pinky switch,
    the high pinky switch, and so on. You will need to adjust these to match your wiring.
  • If LEFT_HANDED is set to true, chord definitions will be expected to start with the
    pinky finger on the left, up to the index finger. If LEFT_HANDED is false, the order is
    reversed.
  • To change the layout itself, find the function setupLayout() in teensy_chorded_keyboard.pde.
    Chord strings for each finger are defined as follows:
    • Underscore(_) = no switch
    • Caret(^) = high switch
    • v = low switch
    • Percent(%) = both switches
  • The available functions are
    • layoutAddChar(chord, char) - for an ASCII character
    • layoutAddMod(chord, modifier) - for a modifier (MODIFIERKEY_CTRL, MODIFIERKEY_SHIFT, etc)
    • layoutAddCharMod(chord, char, modifier) - for an ASCII character with a modifier
    • layoutAddKeyCode(chord, keycode) - for use with USB keycodes. See the list in
      /hardware/teensy/cores/teensy/usb_common.h
  • LAYOUT_SIZE will need to be adjusted to be at least equal to the total number of chords in your layout.

Configuring other keyboards

If you are using a different design, you may also need to configure the following:

  • In chorded_kbd_lib.c, SWITCHES, NUM_SWITCHES, and NUM_STATES configure,
    respectively, the IDs of the switches on each finger, the number of switches
    on each finger, and the number of possible states for each finger. For example, a
    Chordite would have 2 switches for each finger, and 4 states (no switch pressed,
    switch A, switch B, and both).
  • The pins for each switch will also need to be defined at the top of chorded_kbd_lib.h

Attribution

Maintainer: Rob Rosenbaum(link is external)

Rating

0 out of 5 Stars 0 Review

5 Stars
 
0.00%
4 Stars
 
0.00%
3 Stars
 
0.00%
2 Stars
 
0.00%
1 Star
 
0.00%

About

  • There are no comments yet

Thank you! Review submitted.

Ok