{"id":21861519,"url":"https://github.com/raleighlittles/tourbox_neo_linux_driver","last_synced_at":"2025-04-14T19:36:39.503Z","repository":{"id":65402654,"uuid":"514482628","full_name":"raleighlittles/Tourbox_Neo_Linux_Driver","owner":"raleighlittles","description":"A Linux keyboard driver for the Tourbox Neo (TBG_H)","archived":false,"fork":false,"pushed_at":"2024-04-08T03:51:36.000Z","size":715,"stargazers_count":27,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T08:01:58.529Z","etag":null,"topics":["keyboard-driver","mouse-driver","tourbox","tourbox-neo","uinput"],"latest_commit_sha":null,"homepage":"https://www.tourboxtech.com/en/product.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raleighlittles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":["raleighlittles"],"custom":["paypal.me/raleighlittles"]}},"created_at":"2022-07-16T05:03:55.000Z","updated_at":"2025-01-28T16:15:28.000Z","dependencies_parsed_at":"2024-04-08T04:31:39.865Z","dependency_job_id":"b0941ed7-7a4a-4e53-b875-16dad34a86a6","html_url":"https://github.com/raleighlittles/Tourbox_Neo_Linux_Driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raleighlittles%2FTourbox_Neo_Linux_Driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raleighlittles%2FTourbox_Neo_Linux_Driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raleighlittles%2FTourbox_Neo_Linux_Driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raleighlittles%2FTourbox_Neo_Linux_Driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raleighlittles","download_url":"https://codeload.github.com/raleighlittles/Tourbox_Neo_Linux_Driver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248946891,"owners_count":21187592,"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":["keyboard-driver","mouse-driver","tourbox","tourbox-neo","uinput"],"created_at":"2024-11-28T03:11:52.369Z","updated_at":"2025-04-14T19:36:39.476Z","avatar_url":"https://github.com/raleighlittles.png","language":"C++","funding_links":["https://github.com/sponsors/raleighlittles","paypal.me/raleighlittles"],"categories":[],"sub_categories":[],"readme":"![CI build badge](https://github.com/raleighlittles/Tourbox_Neo_Linux_Driver/actions/workflows/main.yml/badge.svg)\n\n![Tourbox Stock image](./docs/tourbox-stock-image.jpg)\n\n# About\n\nThis is a simple Linux driver (written in C++) for the [Tourbox Neo](https://www.tourboxtech.com/en/product.html). (The manufacturer frustratingly refused to provide a Linux driver, so I decided to write one)\n\nThis driver lets you use the device as a rudimentary keyboard and mouse combo -- the D-pad controls a virtual mouse, and the various keys perform different functions (see `docs` folder for full list).\n\n# Usage\n\nCompile the driver via C-Make.\n\n```bash\n$ cmake CMakeLists.txt\n$ make\n```\n\nIn a separate window, open `dmesg`.\n\nSince the device will be writing to `/dev/uinput`, you need to either:\n\n(a) Run the executable (Tourbox_Linux_Driver) as root, passing in the path to the serial port for your device. This is either `/dev/ttyACM0` or `/dev/ttyUSB0` on most distributions, check your dmesg output when you connect your device to be sure.\n\n(b) Change the permissions on `/dev/uinput`\n\nWhatever you decide to do, after running the executable you should see an entry in the `dmesg` window with the device:\n\n```\ninput: Custom Tourbox TBG_H Driver (Keyboard/Mouse) as /devices/virtual/input/input48\n```\n\nThis tells you it's ready for use. When you're ready to stop using the driver, simply Ctrl + C (SIGINT) the program\n\nIf you'd like to change the functionality provided by the driver, you can use Xmodmap to create your own keymap.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraleighlittles%2Ftourbox_neo_linux_driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraleighlittles%2Ftourbox_neo_linux_driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraleighlittles%2Ftourbox_neo_linux_driver/lists"}