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_8b_creating_and_publishing_your_own_keybrd_extension_library.md 4.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. Tutorial 8b - creating and publishing your own keybrd extension library
  2. =======================================================================
  3. Publishing and listing your keybrd extension library allows others to find and install your library.
  4. The keybrd extension library name should start with "keybrd_" so that it is easy for people to find.
  5. The directory structure of the library depends on where it will be listed.
  6. Publishing anywhere with listing on Arduino Playground LibraryList
  7. ------------------------------------------------------------------
  8. Arduino Playground LibraryList can list a library with any directory structure.
  9. The directory structure of your keybrd extension library can be as simple as:
  10. keybrd_MyKeyboard/
  11. class1.cpp
  12. class1.h
  13. class2.cpp
  14. class2.h
  15. ..
  16. instantiations_codes.h
  17. instantiations_ports.h
  18. instantiations_matrix.h
  19. doc/
  20. keybrd_MyKeyboard_guide
  21. examples/
  22. keybrd_MyKeyboard1/
  23. keybrd_MyKeyboard1.ino
  24. keybrd_MyKeyboard2/
  25. keybrd_MyKeyboard2.ino
  26. [Arduino playground](http://playground.arduino.cc/) is a wiki.
  27. Instructions for listing a library on the Arduino playgound LibraryList are at:
  28. http://playground.arduino.cc/Code/Library#Sharing
  29. Add your keybrd library to the Keyboard/Keypads sublist:
  30. http://playground.arduino.cc/Main/InterfacingWithHardware#keyb
  31. Publishing on GitHub with listing on Arduino Library-Manager and Arduino Playground LibraryList
  32. -----------------------------------------------------------------------------------------------
  33. The advantage of using GitHub is that users can submit pull requests.
  34. The advantage of using Arduino Library-Manager is that users can install your library through the Arduino IDE.
  35. Arduino Library-Manager is particular about the directory structures it accepts.
  36. Your keybrd extension library should have a library.properties file and a src folder, placed like this:
  37. keybrd_MyKeyboard/
  38. library.properties
  39. doc/
  40. keybrd_MyKeyboard_guide
  41. examples/
  42. keybrd_MyKeyboard1/
  43. keybrd_MyKeyboard1.ino
  44. keybrd_MyKeyboard2/
  45. keybrd_MyKeyboard2.ino
  46. src/
  47. class1.cpp
  48. class1.h
  49. class2.cpp
  50. class2.h
  51. ..
  52. instantiations_codes.h
  53. instantiations_ports.h
  54. instantiations_matrix.h
  55. The library.properties file is described in
  56. https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification
  57. Example library.properties file:
  58. ```
  59. name=keybrd_MyKeyboard
  60. version=1.2.3
  61. author=Me
  62. maintainer=Me
  63. sentence=An extension to the keybrd library for the MyKeyboard.
  64. paragraph=This library demonstrates my feature.
  65. category=Device Control
  66. url=https://github.com/Me/keybrd_MyKeyboard
  67. architectures=*
  68. ```
  69. Instructions for listing a library on Arduino Library Manager are at:
  70. https://github.com/arduino/Arduino/wiki/Library-Manager-FAQ
  71. [Arduino playground](http://playground.arduino.cc/) is a wiki.
  72. After it has been accepted into the Arduino IDE Library Manager, add your library to the Arduino Playground LibraryList.
  73. Sign in at http://playground.arduino.cc/Main/LibraryList and add keybrd libraries to Keyboard/Keypads sublist:
  74. http://playground.arduino.cc/Main/InterfacingWithHardware#keyb
  75. <br>
  76. <a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">keybrd tutorial</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://github.com/wolfv6/keybrd" property="cc:attributionName" rel="cc:attributionURL">Wolfram Volpi</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.<br />Permissions beyond the scope of this license may be available at <a xmlns:cc="http://creativecommons.org/ns#" href="https://github.com/wolfv6/keybrd/issues/new" rel="cc:morePermissions">https://github.com/wolfv6/keybrd/issues/new</a>.