Firmware for the Keyboardio Model 01 and other keyboards with AVR or ARM MCUs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Gergely Nagy 6a12467b84
Merge pull request #1256 from keyboardio/f/lazier-port-detection
2 years ago
.github Allow override of clang-format executable 3 years ago
bin update for review comments 2 years ago
docs Update UPGRADING.md to show the newest Focus APIs 2 years ago
etc Because of how makefile rules are evaluated, the previous code was 2 years ago
examples Rename the `command` arg of `onFocusEvent` to `input` 2 years ago
extras Initial import 8 years ago
plugins Merge pull request #1253 from tlyu/m100-hostpower 2 years ago
src Rename the `command` arg of `onFocusEvent` to `input` 2 years ago
test/MatrixAddr Format codebase with `clang-format` 3 years ago
testing Run IWYU (with the new tools) on test simulator code 3 years ago
tests SpaceCadet: Drop the deprecated public member variables 2 years ago
.astylerc Clean up astyle invocations based on @gendankenexperimenter's KeyboardioHID cleanups 4 years ago
.clang-format Switch from astyle to clang-format for automated code formatting 3 years ago
.cpplint Use config files for cpplint options 3 years ago
.cpplint-noisy Use config files for cpplint options 3 years ago
.gitignore Ignore the docs/plugins dir which hosts copied plugin docs at build time 4 years ago
.iwyu_ignore Ignore files from gtest and examples when running IWYU 3 years ago
.readthedocs.yml try to get rtd to see our master doc 5 years ago
CODE_OF_CONDUCT.md Code of conduct 8 years ago
CONTRIBUTING.md Remove files we do not need in the monorepo 6 years ago
LICENSE License clarificataion & copyright headers 6 years ago
Makefile Don't format googletest source when running check-all-includes 2 years ago
README.md Add a note about where to find non-Model-01 firmware to the README 2 years ago
library.properties fix paragraph section in Kaleidsocope library.properties 4 years ago

README.md

Kaleidoscope

Flexible firmware for Arduino-powered keyboards.

This package contains the "core" of Kaleidoscope and a number of example firmware "Sketches".

If you're just getting started with the Keyboardio Model 01, the introductory docs are here and the source for the basic firmware package is here: https://github.com/keyboardio/Model01-Firmware. It's probably a good idea to start there, learn how to modify your keymap and maybe turn some modules on or off, and then come back to the full repository when you have more complex changes in mind. (The firmware for all other devices is inside examples/Devices in this Kaleidoscope repo.)

Getting Started

If you want to use Kaleidoscope to customize or compile a "sketch" to power a supported keyboard, the fastest way to get started is to use the Arduino IDE. You can find setup instructions on kaleidoscope.readthedocs.io

If you prefer to work from the command line or intend to work on Kaleidscope itself, please follow the instructions below. It's important to note that the Arduino IDE needs the source code laid out in a slightly different arrangement than you'll find in this repository. If you want to use the Arduino IDE, you should follow these instructions instead.

Use git to check out a copy of Kaleidoscope

  1. Open a commandline shell and navigate to where you want to check out Kaleidoscope.

For the purposes of this tutorial, we'll assume your checkout is in a directory called kaleidoscope inside a directory called git in your home directory.

$ mkdir ${HOME}/git
$ cd ${HOME}/git
  1. Download the latest version of Kaleidoscope
$ git clone https://github.com/keyboardio/Kaleidoscope
  1. Ask Kaleidoscope to install the compiler toolchain, arduino-cli and platform support
$ cd ${HOME}/git/Kaleidoscope
$ make setup
  1. Tell your shell where to find your Kaleidoscope installation. This example is for bash. If you're using another shell, consult the shell's documentation for instructions about how to set an environment variable
$ export KALEIDOSCOPE_DIR=${HOME}/git/Kaleidoscope

$ echo "export KALEIDOSCOPE_DIR=${HOME}/git/Kaleidoscope" >> ${HOME}/.bash_profile
  1. Build the Kaleidoscope Firmware for your keyboard

(This part assumes you're building firmware for the Keyboardio Atreus)

$ cd examples/Devices/Keyboardio/Atreus

$ make compile
  1. Install your firmware
$ make flash

<3 jesse