{"id":9739,"date":"2023-10-08T12:52:23","date_gmt":"2023-10-08T12:52:23","guid":{"rendered":"https:\/\/www.fambach.net\/?p=9739"},"modified":"2023-10-14T06:38:07","modified_gmt":"2023-10-14T06:38:07","slug":"customkeyboard","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/customkeyboard\/","title":{"rendered":"CustomKeyboard Library"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Grundsatzliches\" title=\"Grunds\u00e4tzliches\">Grunds\u00e4tzliches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Task_Erstellen\" title=\"Task Erstellen\">Task Erstellen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Synchronisation\" title=\"Synchronisation\">Synchronisation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Queues\" title=\"Queues\">Queues<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Semaphoren\" title=\"Semaphoren\">Semaphoren<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Event_Groups\" title=\"Event Groups\">Event Groups<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Stream_Buffer\" title=\"Stream Buffer\">Stream Buffer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Message_Buffer\" title=\"Message Buffer\">Message Buffer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Hooks\" title=\"Hooks\">Hooks<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#FreeRtos_Implementierung\" title=\"FreeRtos Implementierung\">FreeRtos Implementierung<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#IDF_Implementierung\" title=\"IDF Implementierung\">IDF Implementierung<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Ringbuffer\" title=\"Ringbuffer\">Ringbuffer<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Fazit\" title=\"Conclusion\">Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Verwandte_Beitrage\" title=\"Related Posts\">Related Posts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/#Quellen\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Eine Bihliothek f\u00fcr eine eigene Tastatur mit unterschiedlichen Kn\u00f6pfen, Potis und mal schauen was sonst noch folgt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zweck<\/h2>\n\n\n\n<ul>\n<li>Inputverarbeitung am Arduino und anderen Microcontrollern<\/li>\n\n\n\n<li>Nicht blockierende und entprellte Taster<\/li>\n\n\n\n<li>Lang\/Kurz Tastendruck<\/li>\n\n\n\n<li>Modusauswahl<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Arduino Bibliothekar<\/h2>\n\n\n\n<p>Ist meine Eigene Lib und leider nicht im Bibliothekar verf\u00fcgbar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Git Download<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/sfambach\/CustomKeyboard\/tree\/main\">https:\/\/github.com\/sfambach\/CustomKeyboard\/tree\/main<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Problems<\/h2>\n\n\n\n<p>Aktuell keine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Ich habe die Bibliothek angelegt, um ohne viel Aufwand Buttons und andere Elemente in meine Projekte zu integrieren. Da die Verarbeitung nicht blockiert und die Taster entprellt sind sollte sie auch einfach f\u00fcr andere nutzbar sein. Ob sie das ist, m\u00fcssen die Benutzer entscheiden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Andere Biliotheken<\/h2>\n\n\n<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp-web-serial-bibliothek\/\">ESP WEB Serial Library<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp01-relay-platinen-2\/\">ESP01 \u2013 DHT11 Temperature and Humidity Sensor Boards<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/customkeyboard\/\">CustomKeyboard Library<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-32-wifi-manager\/\">ESP8266\/32 WiFi Manager.<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/preview-esp01-relais-modul\/\">ESP01 \u2013 Relay Board<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/neo-6m-gps-logger-shield-v1-0\/\">NEO-6M GPS Logger Shield V1.0<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/zumo-v1-2\/\">Zumo V1.2<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp8266-rtos-sdk\/\">ESP8266 RTOS SDK<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks-2\/\">Espressif IDF \u2013 GPIOs<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks\/\">Espressif IDF \u2013 Tasks<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Weitere Quellen<\/h2>\n\n\n\n<p><a href=\"https:\/\/github.com\/sfambach\/CustomKeyboard\/tree\/main\">https:\/\/github.com\/sfambach\/CustomKeyboard\/tree\/main<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Ich habe die Bibliothek angelegt, um ohne viel Aufwand Buttons und andere Elemente in meine Projekte zu integrieren. Da die Verarbeitung nicht blockiert und die Taster entprellt sind sollte sie auch einfach nutzbar sein. Ob sie das so ist, muss der Benutzer entscheiden.<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/espressif-idf-tasks-2\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"Espressif IDF &#8211; GPIOs\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":9743,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[183,304],"tags":[71,734,619,729,309,733],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9739"}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=9739"}],"version-history":[{"count":5,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9739\/revisions"}],"predecessor-version":[{"id":9752,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9739\/revisions\/9752"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/9743"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=9739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=9739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=9739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}