keybrd library is an open source library for creating custom-keyboard firmware.
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.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

tutorial_10_writing_your_own_port_classes.md 904B

Tutorial 8 - writing your own port classes

Port classes are the keybrd library’s interface to microcontoller ports or I/O expander ports.

To write your own port classes: 1) Get a copy of the controller or I/O expander datasheet. 2) Study keybrd port classes that use a similar IC. 3) Consider looking for other open-source keyboard code that uses the same IC e.g. TMK keyboard firmware. 4) Write your RowPort* class to inherit from RowPort class. 5) Write your ColPort* class to inherit from ColPort class. 6) Consider testing on a breadboard keyboard.

Writing port classes is the most technically demanding task in the keybrd library. If you have not read a controller datasheet or I/O expander datasheet before, consider designing your keyboard around one of the controllers or I/O expanders that already have port classes in the keybrd library.