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](http://playground.arduino.cc/) 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](http://playground.arduino.cc/) 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