Archived
1
0
Kiibohd Controller
This repo is archived. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jacob Alexander a5203da1d4 Adding keyBlock capability to support Programmmer's Dvorak
- Useful for partial redefinitions of keys
  Such as redefining Shift, which, as per the USB spec is handled by the OS
  This means we have to careful select which USB Codes to send to the OS to simulate Shift not being pressed (while it is)
- KLL capabilities only work with numerical arguments (KLL 0.3d)
- Each key must be explicitly block for each combination (e.g. LShift and RShift are handled separately)

- Adding example configuration for the Infinity 60%
- Adding example configuration for the Infinity Ergodox
- Requires kll.git 1a078b2b940709bc3c429c952d2f0d842927394f or higher
2016-08-09 08:53:10 -07:00
Bootloader Fixing dfu-util warning due to improper protocol state sequence 2016-07-24 15:48:30 -07:00
Debug Updating bcdDevice and iSerial fields in USB descriptors 2016-07-23 16:16:16 -07:00
Keyboards Adding keyBlock capability to support Programmmer's Dvorak 2016-08-09 08:53:10 -07:00
Lib Adding DFU check to validate that we aren't trying to flash too far 2016-07-23 17:50:59 -07:00
LoadFile Major USB update, fixes most (if not all) known issues 2016-05-31 00:40:10 -07:00
Macro Adding keyBlock capability to support Programmmer's Dvorak 2016-08-09 08:53:10 -07:00
Output Removing NKRO Mode requirement for System Control and Consumer Control Keys (Media Keys) 2016-07-28 19:55:36 -07:00
Scan Renaming Input Club keyboard Scan Modules 2016-07-17 13:09:57 -07:00
.clang-tidy Fixing clang compilation and supporting clang-tidy 2016-03-04 00:38:06 -08:00
.gitignore Fixing clang compilation and supporting clang-tidy 2016-03-04 00:38:06 -08:00
.travis.yml Initial .travis.yml file to travis-ci integration 2016-07-17 22:36:13 -07:00
98-kiibohd.rules Fixing udev rules 2016-07-25 23:26:09 -07:00
buildall.bash Ensure directories can only be made with printable characters 2016-02-06 21:06:08 -05:00
CMakeLists.txt Fixing clang compilation and supporting clang-tidy 2016-03-04 00:38:06 -08:00
main.c Pre-merge cleanup. 2015-06-14 14:33:40 -07:00
README.markdown Adding IRC link 2016-08-01 17:30:58 -07:00

The Kiibohd Controller

This is the main Kiibohd Firmware. In general, this should be the only git repo you need to clone. The KLL git repo is automatically cloned during the build process.

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

Visit our IRC channel

Official Keyboards

  • Infinity 60%
  • Infinity 60% LED
  • Infinity Ergodox
  • WhiteFox
  • K-Type (coming soon)

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/Mac. Linux is the easiest using this VM.

For most people refer here.

For the full compilation details, please refer to the wiki.

Supported Microcontrollers

  • Teensy 2.0 (Partial)
  • Teensy 2.0++
  • Teensy 3.0
  • Teensy 3.1/3.2
  • mk20dx128vlf5
  • mk20dx256vlh7

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

  • ~8 kB of SRAM
  • ~25 kB of Flash

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

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

Contact

If you really need to get a hold of HaaTa, email is best: haata@kiibohd.com