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_7b_creating_and_publishing_your_own_keybrd_extension_library.md 3.2KB

Tutorial 7b - creating and publishing your own keybrd extension library

Listing your keybrd extension library allows others to find and install your library. The keybrd extension library name should start with “keybrd_” so that it is easy for people to find. The directory structure of the library depends on where it will be listed.

Publishing anywhere with listing on Arduino Playground LibraryList

Arduino Playground LibraryList can list a library with any directory structure. The directory structure of your keybrd extension library can be as simple as:

keybrd_MyKeyboard/
    class1.cpp
    class1.h
    class2.cpp
    class2.h
    ..
    instantiations_codes.h
    instantiations_ports.h
    instantiations_matrix.h
    doc/
        keybrd_MyKeyboard_guide
    examples/
        keybrd_MyKeyboard1/
            keybrd_MyKeyboard1.ino
        keybrd_MyKeyboard2/
            keybrd_MyKeyboard2.ino

Arduino playground is a wiki. Instructions for listing a library on the Arduino playgound LibraryList are at:

http://playground.arduino.cc/Code/Library#Sharing

Add your keybrd library to the Keyboard/Keypads sublist:

http://playground.arduino.cc/Main/InterfacingWithHardware#keyb

Publishing on GitHub with listing on Arduino Library-Manager and Arduino Playground LibraryList

The advantage of using GitHub is that users can submit pull requests. The advantage of using Arduino Library-Manager is that users can install your library through the Arduino IDE.

Arduino Library-Manager is particular about directory structures it accepts. The directory structure of your keybrd extension library to look like this:

keybrd_MyKeyboard/
    library.properties
    doc/
        keybrd_MyKeyboard_guide
    examples/
        keybrd_MyKeyboard1/
            keybrd_MyKeyboard1.ino
        keybrd_MyKeyboard2/
            keybrd_MyKeyboard2.ino
    src/
        class1.cpp
        class1.h
        class2.cpp
        class2.h
        ..
        instantiations_codes.h
        instantiations_ports.h
        instantiations_matrix.h

The library.properties file is described in

https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification

Example library.properties file:

name=keybrd_MyKeyboard
version=1.2.3
author=Me
maintainer=Me
sentence=An extension to the keybrd library for the My keyboard.
paragraph=This library demonstrates my feature.
category=Device Control
url=https://github.com/Me/keybrd_MyKeyboard
architectures=Teensy LC

Instructions for listing a library on Arduino Library Manager are at:

https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ

After it has been accepted into the Arduino IDE Library Manager, add your library to the Arduino Playground LibraryList. Arduino playground is a wiki. Sign in at http://playground.arduino.cc/Main/LibraryList and add keybrd libraries to Keyboard/Keypads sublist:

http://playground.arduino.cc/Main/InterfacingWithHardware#keyb