{"id":16648769,"url":"https://github.com/clach04/keyboard2mqtt","last_synced_at":"2026-05-01T03:39:10.157Z","repository":{"id":138514930,"uuid":"400276039","full_name":"clach04/keyboard2mqtt","owner":"clach04","description":"RFID tag reader and 1D/2D barcode reader to MQTT - or any device that emulates a HID USB Keyboard with newline as the terminator","archived":false,"fork":false,"pushed_at":"2021-08-26T20:07:52.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-01T03:39:07.850Z","etag":null,"topics":["barcode","evdev","hid","keyboard","mqtt","python","rfid","usb","usb-hid"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clach04.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-26T18:57:08.000Z","updated_at":"2024-07-03T16:57:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"577a7f7b-b22f-4a56-bb42-2080b4ff76c2","html_url":"https://github.com/clach04/keyboard2mqtt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clach04/keyboard2mqtt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clach04%2Fkeyboard2mqtt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clach04%2Fkeyboard2mqtt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clach04%2Fkeyboard2mqtt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clach04%2Fkeyboard2mqtt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clach04","download_url":"https://codeload.github.com/clach04/keyboard2mqtt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clach04%2Fkeyboard2mqtt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32484352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["barcode","evdev","hid","keyboard","mqtt","python","rfid","usb","usb-hid"],"created_at":"2024-10-12T09:05:25.946Z","updated_at":"2026-05-01T03:39:10.149Z","avatar_url":"https://github.com/clach04.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keyboard2mqtt\n\nRFID tag reader and 1D/2D barcode reader to MQTT - or any device that emulates a HID USB Keyboard with newline as the terminator.\n\nIn theory any (real) keyboard could be captured, not just a device that emulates a keyboard.\n\n## Getting Started\n\nNOTE needs a working MQTT broker, mosquitto is a good basic one to try:\n\n    sudo apt update\n    sudo apt install -y mosquitto mosquitto-clients\n    sudo systemctl enable mosquitto.service\n\nIf installing/working with a source checkout issue:\n\n    pip install -r requirements.txt\n\n### TODO\n\n  * service (see https://github.com/clach04/pirest#pirest-service)\n  * udev permissions/rules (see https://github.com/clach04/pyusb-keyboard-alike/commits/yarongtech)\n  * https://json5.org/ support - be easier to support hex digits for USB ids in config file, consider\n      * https://github.com/dpranke/pyjson5\n      * https://github.com/spyoungtech/json-five -- supports preserving comments (not needed for keyboard2mqtt, but cool :))\n  * USB id (list) specified in (json5) config, see above\n  * document known working devices\n\n\n## Credits\n\n  * Based on https://gist.github.com/clach04/9bc0ccc80edd28253af959c45b959490 which is in turn based on\n  * https://gist.github.com/michalfapso/1755e8a35bb83720c2559ce8ffde5f85 - easier to maintain code, which is in turn inspired by\n  * https://github.com/julzhk/usb_barcode_scanner which is in turn inspired by\n  * https://www.piddlerintheroot.com/barcode-scanner/ / https://www.raspberrypi.org/forums/viewtopic.php?f=45\u0026t=55100 from 'brechmos'\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclach04%2Fkeyboard2mqtt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclach04%2Fkeyboard2mqtt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclach04%2Fkeyboard2mqtt/lists"}