{"id":15132791,"url":"https://github.com/ikolomiko/ikotv-ir-remote-keyboard","last_synced_at":"2026-02-09T18:03:02.079Z","repository":{"id":256030303,"uuid":"854097980","full_name":"ikolomiko/ikotv-ir-remote-keyboard","owner":"ikolomiko","description":"Linux USB gadget driver that maps LIRC events to HID keyboard events","archived":false,"fork":false,"pushed_at":"2024-09-08T20:20:08.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-09T17:10:01.353Z","etag":null,"topics":["hid-keyboard","ir-receiver","ir-remote","linux","linux-usb","lirc","raspberry-pi","usb-gadget"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ikolomiko.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}},"created_at":"2024-09-08T12:10:20.000Z","updated_at":"2024-09-10T13:32:19.000Z","dependencies_parsed_at":"2024-09-08T16:59:13.485Z","dependency_job_id":"0cc2a650-ec93-4036-a39f-16955fe7e267","html_url":"https://github.com/ikolomiko/ikotv-ir-remote-keyboard","commit_stats":null,"previous_names":["ikolomiko/ikotv-ir-remote-keyboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikolomiko%2Fikotv-ir-remote-keyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikolomiko%2Fikotv-ir-remote-keyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikolomiko%2Fikotv-ir-remote-keyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ikolomiko%2Fikotv-ir-remote-keyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ikolomiko","download_url":"https://codeload.github.com/ikolomiko/ikotv-ir-remote-keyboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246096772,"owners_count":20723016,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["hid-keyboard","ir-receiver","ir-remote","linux","linux-usb","lirc","raspberry-pi","usb-gadget"],"created_at":"2024-09-26T04:40:25.531Z","updated_at":"2026-02-09T18:02:57.044Z","avatar_url":"https://github.com/ikolomiko.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ikoTV IR Remote Keyboard\n\nThis project is an amalgamation of [ir-keytable](https://linux.die.net/man/1/ir-keytable), [Composite USB Gadgets on the Raspberry Pi Zero](https://www.isticktoit.net/?p=1383) and [this GitHub Gist containing USB HID keycodes](https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2).\nThe IR receiver connected to the GPIO pins of Raspberry Pi Zero receives IR signals and those signals gets decoded by the LIRC modules in the kernel. These IR events are accessible from `/dev/lirc0` and `/dev/input/event0`. This program reads events from these files\nand creates corresponding USB HID reports if the received IR remote key is mapped to a specific USB keyboard key. These mappings are hard-coded into the source code to avoid unnecessary complexity. Then, the USB HID reports are transmitted to the host PC via writing them\nto the device file `/dev/hidg0`. Essentially, this program makes the Raspberry Pi Zero act like a IR-controlled USB keyboard.\n\n## Build\n`\u003cPREFIX\u003e` is a placeholder for the actual installation prefix path. The default is `/usr/local` if none is supplied. Should be set to `/usr` when creating a system package.\n\n```sh\nmeson setup build --prefix=\u003cPREFIX\u003e\nninja -C build\n```\n\n## Install\n\n```sh\nninja -C build install\n```\n\n## Run\nEnable and start the systemd unit.\n\n```sh\nsystemctl enable --now ikotv-usb\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikolomiko%2Fikotv-ir-remote-keyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fikolomiko%2Fikotv-ir-remote-keyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fikolomiko%2Fikotv-ir-remote-keyboard/lists"}