{"id":24434039,"url":"https://github.com/itspriddle/q2-qmk","last_synced_at":"2025-09-06T14:42:44.413Z","repository":{"id":79335661,"uuid":"605782147","full_name":"itspriddle/q2-qmk","owner":"itspriddle","description":"QMK playground for my Keychron Q2","archived":false,"fork":false,"pushed_at":"2023-04-30T01:43:45.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T22:17:04.468Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itspriddle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-02-23T22:18:07.000Z","updated_at":"2023-02-23T22:22:34.000Z","dependencies_parsed_at":"2025-01-20T16:53:11.259Z","dependency_job_id":"61fe64a3-5435-45e0-b94d-2ae4cfbf1ad5","html_url":"https://github.com/itspriddle/q2-qmk","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/itspriddle/q2-qmk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itspriddle%2Fq2-qmk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itspriddle%2Fq2-qmk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itspriddle%2Fq2-qmk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itspriddle%2Fq2-qmk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itspriddle","download_url":"https://codeload.github.com/itspriddle/q2-qmk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itspriddle%2Fq2-qmk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273919132,"owners_count":25191204,"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-09-06T02:00:13.247Z","response_time":2576,"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-01-20T16:53:06.181Z","updated_at":"2025-09-06T14:42:44.357Z","avatar_url":"https://github.com/itspriddle.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keychron Q2 QMK\n\nThis repo is for me to compile [QMK][] firmware for my [Keychron Q2][]\nkeyboard.\n\nHuge thanks to [QMK-on-K6][] for outlining this process!\n\n## Q2 Keymap\n\nMy Q2 keymap is at [`keyboards/keychron/q2/keymaps/ansi-josh/keymap.c`](./keyboards/keychron/q2/ansi_encoder/keymaps/josh/keymap.c).\nIt is a copy of the [`keychron/q2/ansi_encoder:keychron`][Keychron Q2 Default Keymap] files.\n\nSee the [releases](https://github.com/itspriddle/q2-qmk/releases) page for\ntagged builds.\n\n## My Setup\n\n- Map the \u003ckbd\u003eEsc\u003c/kbd\u003e key to \u003ckbd\u003e\\`~\u003c/kbd\u003e.\n- Map \u003ckbd\u003eCaps Lock\u003c/kbd\u003e to \u003ckbd\u003eEsc\u003c/kbd\u003e.\n- Map \u003ckbd\u003eFn1+Caps Lock\u003c/kbd\u003e to \u003ckbd\u003eCaps Lock\u003c/kbd\u003e for the rare moments I\n  want to YELL.\n- Map \u003ckbd\u003eDel\u003c/kbd\u003e (immediately under the knob) to \u003ckbd\u003eHome\u003c/kbd\u003e to match\n  the [keycaps][Keychron Keycaps] I have.\n- Map \u003ckbd\u003eHome\u003c/kbd\u003e to \u003ckbd\u003ePage Up\u003c/kbd\u003e to match my keycaps.\n- On Mac:\n    - Turning the knob with no modifiers adjusts volume.\n    - Holding \u003ckbd\u003eCtrl\u003c/kbd\u003e and turning the knob clockwise sends\n      \u003ckbd\u003eCtrl+Mouse Wheel Up\u003c/kbd\u003e. Counter-clockwise sends \u003ckbd\u003eCtrl+Mouse\n      Wheel Down\u003c/kbd\u003e. This zooms in and out on macOS (with an Accessibility\n      setting enabled).\n    - Holding \u003ckbd\u003eFn1\u003c/kbd\u003e and turning the knob adjusts brightness\n      on a second display.\n    - Holding \u003ckbd\u003eFn2\u003c/kbd\u003e and turning the knob adjusts brightness on the\n      primary display.\n    - Holding \u003ckbd\u003eFn1\u003c/kbd\u003e and pressing the knob maxes out the brightness on\n      a secondary display (by sending 16x brightness up calls).\n\n## GitHub Workflow\n\nMake changes to `keymap.c` and then commit/push them to GitHub. If a build\npasses, the compiled firmware will be uploaded as a build artifact. It can be\ndownloaded from the view build page on GitHub. These uploads will be deleted\neventually, so do not rely on being able to download them forever.\n\nWhen the firmware reaches a good saving point, uploading a git tag will\ntrigger a build and upload the compiled firmware as a release asset. These\nfiles stay on GitHub for the life of the project.\n\nTo see how to do this Linux, see\n[`.github/workflows/build.yml`](./.github/workflows/build.yml).\n\n## Installing Firmware\n\n1. Install [QMK Toolbox][] and launch it.\n2. Unplug the Q2. Hold \u003ckbd\u003eEsc\u003c/kbd\u003e and \u003ckbd\u003eCtrl\u003c/kbd\u003e and plug the\n   keyboard in. If you see \"DFU device connected\" in QMK Toolbox, move on to\n   step 3.\n     - If you do not, you need to manually put the keyboard in DFU mode.\n       Follow [these steps][Keychron Q2 Reset] but stop short of uploading any\n       firmware (since you're about to upload your own).\n       Unplug it again. Remove the spacebar. Press and hold the small button\n       that is visible in the left opening on the case. Plug the keyboard in\n       again.\n3. Click \"Open\" and upload the `.bin` file that GitHub Actions generated.\n4. Click the \"Flash\" button.\n\n[QMK]: https://qmk.fm\n[QMK Toolbox]: https://github.com/qmk/qmk_toolbox\n[Keychron Q2]: https://www.keychron.com/pages/keychron-q2-customizable-mechanical-keyboard\n[Keychron Q2 Reset]: https://www.keychron.com/blogs/archived/how-to-factory-reset-or-flash-your-qmk-via-enabled-keychron-q2-keyboard\n[QMK-on-K6]: https://github.com/CanUnesi/QMK-on-K6/blob/main/README.md\n[Keychron Q2 Default Keymap]: https://github.com/qmk/qmk_firmware/tree/2133cc1/keyboards/keychron/q2/ansi_encoder/keymaps/keychron\n[Keychron Keycaps]: https://www.keychron.com/collections/all-keycaps/products/keychron-oem-profile-pbt-retro-keycap-set?variant=32352277528665\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitspriddle%2Fq2-qmk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitspriddle%2Fq2-qmk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitspriddle%2Fq2-qmk/lists"}