{"id":31976813,"url":"https://github.com/peterjc/zmk-config","last_synced_at":"2025-10-14T21:19:39.285Z","repository":{"id":308451203,"uuid":"1032843836","full_name":"peterjc/zmk-config","owner":"peterjc","description":"My personalised ZMK firmare configuration for my Tutte-Coxeter Graph based keyboard etc.","archived":false,"fork":false,"pushed_at":"2025-10-04T21:03:16.000Z","size":138,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-04T22:25:49.344Z","etag":null,"topics":["keyboard","keyboard-layout","zmk","zmk-config"],"latest_commit_sha":null,"homepage":"https://zmk.dev/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"zmkfirmware/unified-zmk-config-template","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterjc.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-08-05T23:21:34.000Z","updated_at":"2025-10-04T20:59:27.000Z","dependencies_parsed_at":"2025-10-04T22:17:30.003Z","dependency_job_id":null,"html_url":"https://github.com/peterjc/zmk-config","commit_stats":null,"previous_names":["peterjc/tutte-coxeter-zmk-config","peterjc/zmk-config"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/peterjc/zmk-config","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjc%2Fzmk-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjc%2Fzmk-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjc%2Fzmk-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjc%2Fzmk-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterjc","download_url":"https://codeload.github.com/peterjc/zmk-config/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterjc%2Fzmk-config/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279021384,"owners_count":26087021,"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-14T02:00:06.444Z","response_time":60,"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":["keyboard","keyboard-layout","zmk","zmk-config"],"created_at":"2025-10-14T21:19:38.039Z","updated_at":"2025-10-14T21:19:39.280Z","avatar_url":"https://github.com/peterjc.png","language":"C","readme":"# Peter's personal ZMK keyboard firmware configurations\n\nThis repository is where I keep my personal [ZMK keyboard firmware](https://zmk.dev/)\nconfiguration/layouts, for use with programable mechanical computer keyboards.\nThe keymap images are rendered automatically using [keymap-drawer](https://github.com/caksoylar/keymap-drawer)\nusing this [Draw Keymaps GitHub Action](.github/workflows/draw-keymaps.yml).\n\n## Split 3x5_3 Layout\n\nThe QMK project uses the term `split_3x5_3` for one of their standard community\nlayout names. This means a symetrical split layout chere each hand has three\nrows and five columns (the index finger gets an extra inner columm), plus three\nthumb keys.\n\nMy base layer is the inverted [Hands Down Promethium\nlayout](https://www.reddit.com/r/KeyboardLayouts/comments/1g66ivi/hands_down_promethium_snth_meets_hd_silverengram/)\nwith my personal modifications (\"Pico Mod\") intended to help with some readline shortcuts.\nMost of the symbols are 2-key vertical combos, the brackets are 2-key horizontal combos\n(open on the left hand, close on the right). There is a single combined numbers and\nnavigation layer accessed by holding either thumb.\nI wanted to be able to use this on my laptop too - achieved with [custom Karabiner-Elements\nrules](https://codeberg.org/peterjc/kana-chording-ke/src/branch/main/hands-down-on-jis-macbook)\n(see this [blog post](https://blastedbio.blogspot.com/2025/05/what-have-you-done-to-your-keyboard.html)).\n\nThe second layer is for typing in Japanese using Naginata Style (薙刀式) (see\n[blog post](https://astrobeano.blogspot.com/2025/08/naginata-style-for-typing-in-japanese.html))\nusing the [ZMK Naginata module](https://github.com/eswai/zmk-naginata). I have\nmade minor changes so that Qwerty `Q` is now Escape on tap, small on hold, and\nadded shift-space on a thumb for kanji selection without needing editing layers.\nDue to my brackets combos clashing with the default way to switch Japanese mode\nand the Naginata layer on and off, those are Qwerty `D`+`G` (labelled 'ABC' in\nthe image) and Qwerty `H`+`K` instead (labelled 'かな'). This layout uses a *lot*\nof chording, but these are not defined as ZMK combos, and so are not drawn here.\n\n![Keymap Image](keymap-drawer/hesse.svg)\n\nIn this keymap image the base layer keys and space are coloured by usage frequencies (orange/pink\nfor highest use - mainly home keys, down through pink, purples, to a dark blue for low like the\nletters demoted to combos: Q, Z, and V).\n\n### Gamma Omega TC36K\n\nThe ZMK keymap in file [tc36k.keymap](config/tc36k.keymap) is the split 3x5_3\nlayout described above (without the bluetooth combos) for the self-built\n[Gamma Omega TC36K](https://github.com/unspecworks/gamma-omega/tree/main/tc36k).\nThis is a single PCB no-diode variant of the Gamma Omega where [I designed the\nwiring and PCB](https://astrobeano.blogspot.com/2025/08/my-first-self-built-computer-keyboard.html)).\n\nThis uses my [ZMK firmware for the TC36K](https://github.com/peterjc/zmk-keyboard-graph-theory/tree/main/boards/shields/tc36k)\n(I also wrote [QMK firmware for the TC36K](https://github.com/peterjc/qmk_userspace/tree/main/keyboards/tutte_coxeter_36k)).\n\nThis keyboard has 6-key roll-over. which is not an issue with this or most keymaps.\n\n### Gamma Omega Hesse\n\nThe ZMK keymap in file [hesse.keymap](config/hesse.keymap) is the\nsplit 3x5_3 layout described above for the self-built\n[Gamma Omega Hesse](https://github.com/unspecworks/gamma-omega/tree/main/tc36k).\nThis is a Bluetooth version of the Gamma Omega.\n\nThis uses my [ZMK firmware for the Hesse](https://github.com/peterjc/zmk-keyboard-graph-theory/tree/main/boards/shields/hesse)\n\nThis keyboard has only 4-key roll-over, which was kept in mind when editing this\nkeymap. i.e. I try not to use any combos needing more than four keys in total. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterjc%2Fzmk-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterjc%2Fzmk-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterjc%2Fzmk-config/lists"}