Skip to content
Kiibohd Controller
Branch: master
Clone or download
haata Initial DAC PDC support
- Sample set and queue functions
  * Set clears current and all queue samples and runs the specified
  sample
  * Queue adds a sample to the queue as long as it hasn't already been
  added
Latest commit 8c603ce May 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Bootloader Moving debug pin assignment in bootloader to be keyboard specific May 4, 2019
Debug Fixing HID-IO merge compiler errors and warnings Mar 25, 2019
Dockerfiles Updating Arch Linux dockerfile Feb 8, 2019
Documentation Updating to use wiki Mar 10, 2019
Keyboards Adding missing TC entries to ASF for sam4s2a Apr 29, 2019
Lib IS31FL3743B functional on SAM4S Jun 2, 2019
LoadFile
Macro IS31FL3743B functional on SAM4S Jun 2, 2019
Output Cleaning up SAM4S includes Apr 24, 2019
Scan Initial DAC PDC support Jun 2, 2019
.clang-tidy Fixing clang compilation and supporting clang-tidy Mar 4, 2016
.editorconfig Add editorconfig Jan 4, 2018
.gitignore Don't ignore Builds/ dir Sep 8, 2018
.travis.yml Fixing macOS Travis Build Jan 26, 2019
98-kiibohd.rules Fixing SAM4S DFU USB descriptor Sep 10, 2018
CMakeLists.txt sam: Drag in ASF USB Stack Sep 7, 2018
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md Dec 18, 2017
LICENSE Converting GPLv3 to LGPLv3 Feb 17, 2019
README.md Adding wiki to main README.md Dec 3, 2018
appveyor.yml Fixing appveyor typo Sep 17, 2018
main.c Adding Kinetis Watchdog timer support Mar 25, 2019
main.h sam: Drag in ASF USB Stack Sep 7, 2018

README.md

The Kiibohd Controller

This is the main Kiibohd Firmware. In general, this should be the only git repo you need to clone. The KLL compiler is automatically retrieved during the build process and will warn you if your KLL compiler is too old.

Please refer to the KLL repo or kiibohd.com for details on the KLL (Keyboard Layout Language) Spec.

Travis Status Appveyor Status

Visit our IRC channel

Visit our Discord Channel

--> Wiki <-- If you have questions start here

Official Keyboards

The Kiibohd firmware supports a lot of other keyboards, but these are more obscure/custom/lesser known.

Compilation

Compilation is possible and tested on Windows/Linux/macOS. However, the recommended method is using a Dockerfile.

Then, once you have a docker environment, you can select a build script here.

To compile natively for your platform, refer to the wiki.

Supported Microcontrollers

Adding support for more microcontrollers is possible. Some considerations for minimum specs:

  • ~16 kB of SRAM
  • ~64 kB of Flash

It's possible to port chips with lower specs, but will be more effort and have fewer features.

Modules

           +------------------------------------------------+
           |     Lib                              Debug     |
           +------------------------------------------------+

           +-------------+  +-------------+  +--------------+
Input +---->    Scan     +--+    Macro    +--+    Output    +----> Output
Data       | +---------+ |  | +--------+  |  |              |      Data
           | | Devices +------+ Pixels |  |  |              |
           | +----+----+ |  | +--------+  |  |              |
           +------|------+  +-------------+  +--------------+
                  |
                  v

               Hardware
               Control

General Code can be found in Lib.

Bootloader

A custom bootloader (based off of McHCK) is available. This is only necessary when assembling a keyboard with a blank MCU or if you're attempting to re-flash your bootloader (requires external tools).

Bootloader

Contributions

Contributions welcome!

  • Bug reports
  • Documentation and Wiki editing
  • Patches (including new features)

Licensing

Licensing is done on a per-file basis. Some of the source code is from PJRC/Teensy, other source code is from the McHck Project. Code written specifically for the Kiibohd Controller use the following licenses:

  • MIT
  • GPLv3
  • Public Domain
You can’t perform that action at this time.