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.
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
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