{"id":28516142,"url":"https://github.com/weirdtreething/croskbd","last_synced_at":"2026-08-03T19:31:30.604Z","repository":{"id":294054532,"uuid":"985851868","full_name":"WeirdTreeThing/croskbd","owner":"WeirdTreeThing","description":"Chromebook Keyboard Daemon","archived":false,"fork":false,"pushed_at":"2025-10-07T21:35:49.000Z","size":66,"stargazers_count":9,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-07T23:32:31.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WeirdTreeThing.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-18T16:53:17.000Z","updated_at":"2025-10-07T21:30:34.000Z","dependencies_parsed_at":"2025-05-18T18:25:45.874Z","dependency_job_id":"1d8d0ebf-0c46-42e8-95fe-54e06728635a","html_url":"https://github.com/WeirdTreeThing/croskbd","commit_stats":null,"previous_names":["weirdtreething/croskbd"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/WeirdTreeThing/croskbd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeirdTreeThing%2Fcroskbd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeirdTreeThing%2Fcroskbd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeirdTreeThing%2Fcroskbd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeirdTreeThing%2Fcroskbd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WeirdTreeThing","download_url":"https://codeload.github.com/WeirdTreeThing/croskbd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WeirdTreeThing%2Fcroskbd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278916444,"owners_count":26068090,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"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":[],"created_at":"2025-06-09T03:32:26.293Z","updated_at":"2026-08-03T19:31:30.597Z","avatar_url":"https://github.com/WeirdTreeThing.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# croskbd\n\n# THIS IS CURRENTLY ALPHA SOFTWARE. YOU HAVE BEEN WARNED!\n\n## Why?\nDue to the strange keyboard layout on Chromebooks, the default experience while not using ChromeOS is not very ideal.\nCroskbd will remap the keys to act in a similar way to how they work on ChromeOS.\n\nAnother issue croskbd aims to solve is tablet mode on 2 in 1 Chromebooks. Sometimes the keyboard will be disabled, sometimes the touchpad, sometimes neither will be. Croskbd will be able to disable both of them in tablet mode to make the experience much better.\n\n##  Features\n\n- [x] Read events from keyboard\n- [x] Send events via uinput\n- [x] Key remapping support\n- [x] Top row remaps\n- [x] Inverted top row remaps\n- [ ] Every misc remap (from ChromeOS and cros-keyboard-map)\n- [x] Hammer keyboard support\n- [ ] Special case devices (eve, atlas, sarien)\n- [ ] Tablet mode handling\n- [x] Config file\n- [ ] Init services\n\n## Installation\n\n### From Source\n\n    git clone https://github.com/WeirdTreeThing/croskbd\n    cd croskbd\n    make\n    make install\n    # For systemd\n    make install_systemd\n    # For dinit\n    make install_dinit\n\nThe default install location is `/usr/local/`. You can override this to `/usr` by adding `PREFIX=/usr` to the install commands.\n\nOpenRC service support is coming soon.\n\n## Comparison to other solution\n### keyd (with cros-keyboard-map)\nkeyd has much more complex remapping support for those who want to take advantage of it, while croskbd is easier to set up and use. keyd also can't disable the keyboard in tablet mode without hacks, and can't disable the touchpad at all.\n\n### Chromebook xkb keyboard model\nThe xkb model works OOTB in many setups, except for gnome wayland for some reason. However, it does not work very well. It assumes you have the classic Chromebook layout, which is not true for anything released in the last 3 years, or any special cases. It does not remap every top row key, such as the task switcher button. It does not allow you to use a mod key to get regular fn keys back. And it does not work on devices with a vivaldi keyboard.\n\n# Woke?\nThis software is woke.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweirdtreething%2Fcroskbd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweirdtreething%2Fcroskbd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweirdtreething%2Fcroskbd/lists"}