keybrd library is an open source library for creating custom-keyboard firmware.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
wolfv6 d5cbc3c58c change RowScanner_SPIShiftRegisters to work with active high or active low 7 år sedan
doc remove RowScannerInterface, add KEY_COUNT, change COL_PIN_L_COUNT to KEY_COUNT 8 år sedan
examples change RowScanner_SPIShiftRegisters to work with active high or active low 7 år sedan
src change RowScanner_SPIShiftRegisters to work with active high or active low 7 år sedan
tutorials replace rowEnd with KEY_COUNT, remove read_pins_mask_t, print_free_RAM() 8 år sedan
LICENSE.txt initial commit keybrd version 0.3.0 8 år sedan
README.md document 8 år sedan
library.properties initial commit keybrd version 0.3.0 8 år sedan

README.md

keybrd library for creating keyboard firmware

keybrd library is an open source library for creating custom-keyboard firmware. The resulting keyboard firmware is compatible with standard USB keyboard drivers.

keybrd library can support any keyboard configuration:

  • one-piece
  • split with I/O expander
  • single-layer
  • multiple-layer

Multiple-layer keyboards can write symbols without using the shift key:

~ ! @ # $ % ^ & * () _ {} | < > : ?

keybrd library leverages the Arduino environment to create keyboard firmware. The Arduino development environment is free, and easy for novice programmers to setup and learn.

The keybrd library has been tested on the Teensy 2.0 microcontroller, MCP23018 I/O expander, and PCA9655E I/O expander.

The public API should not be considered stable. Currently the keybrd library is limited to 8x8 matrices, which is enough for compact split keyboards.

Example minimal keybrd sketch

A minimal keybrd sketch. has about 50 lines of code and runs on a 4-key keyboard. It runs on a breadboard and has rows, columns, and diodes just like the big keyboards. The sketch is small because the keybrd library takes care of the low-level details.

The keybrd tutorial 1 shows how to make a breadboard keyboard. The remaining keybrd tutorials show how to create custom keybrd firmware.

Example complex keybrd sketch

The keybrd_DH emulates the DataHand keyboard. It has 72 keys, 4 layers, 6 sub-layers, 2 matrices, 8 LEDs, and blinking LEDs. The keybrd_DH and its instantiation files contain about 800 lines of code.

mainSketch.ino
instantiations_ports.h
instantiations_LEDs.h
instantiations_codes.h
instantiations_matrix.h

Support

Guides and tutorials are provided. Please ask a questions in issues if something is not clear.