{"id":17383805,"url":"https://github.com/sunaku/engrammer","last_synced_at":"2025-04-14T07:40:36.405Z","repository":{"id":59090693,"uuid":"528320065","full_name":"sunaku/engrammer","owner":"sunaku","description":"Arno's Engram layout for programmers","archived":false,"fork":false,"pushed_at":"2024-04-19T06:28:49.000Z","size":365,"stargazers_count":122,"open_issues_count":2,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T21:15:01.436Z","etag":null,"topics":["ergonomic","keyboard-layout","programming"],"latest_commit_sha":null,"homepage":"https://sunaku.github.io/engrammer-keyboard-layout.html","language":"Makefile","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/sunaku.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":"2022-08-24T07:50:36.000Z","updated_at":"2025-03-11T03:09:27.000Z","dependencies_parsed_at":"2024-12-06T19:35:18.813Z","dependency_job_id":null,"html_url":"https://github.com/sunaku/engrammer","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunaku%2Fengrammer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunaku%2Fengrammer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunaku%2Fengrammer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sunaku%2Fengrammer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sunaku","download_url":"https://codeload.github.com/sunaku/engrammer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248841569,"owners_count":21170210,"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":["ergonomic","keyboard-layout","programming"],"created_at":"2024-10-16T07:43:49.670Z","updated_at":"2025-04-14T07:40:36.374Z","avatar_url":"https://github.com/sunaku.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[Arno's Engram]: https://engram.dev\n\n# Engrammer - [Arno's Engram] layout for programmers\n\nThis is a programmer-friendly variant of [Arno's Engram] 2.0 keyboard\nlayout that helps maintain cross-proficiency with standard keyboards:\n\n* Shifted pairs are standard (e.g. quotes don't shift to parentheses).\n* Semicolon is placed relative to comma and period just like standard.\n* Equals and square brackets are placed near their standard locations.\n\nIn addition, application shortcuts that assume standard shifted pairs,\nsuch as Control-Equals for the \"zoom in\" operation, now work properly.\n\nTo illustrate the differences between this layout, Engram, and QWERTY:\n\n\u003e*Legend:* Gold is [Arno's Engram]; Blue is Engram-like; Pink is new.\n\u003e![Rendering of this layout on a standard 60% keyboard.](https://raw.githubusercontent.com/sunaku/engrammer/main/layout.png)\n\u003e![Rendering of this layout on an ortholinear keyboard.](https://raw.githubusercontent.com/sunaku/engrammer/main/ortho.png)\n\u003e\n\u003e     `~ 1! 2@ 3# 4$  5%  6^  7\u0026 8* 9( 0) [{ ]}\n\u003e        bB yY oO uU  '\"  ;:  lL dD wW vV zZ =+ \\|\n\u003e        cC iI eE aA  ,\u003c  .\u003e  hH tT sS nN qQ\n\u003e        gG xX jJ kK  -_  /?  rR mM fF pP\n\nFor example, here are my split ortholinear keyboards using this layout:\n\n* This is [my Glove80](https://sunaku.github.io/moergo-glove80-keyboard.html) keyboard by MoErgo:\n\u003e![Photo of MoErgo Glove80](https://raw.githubusercontent.com/sunaku/sunaku.github.io/master/moergo-glove80-keyboard-photograph.jpg)\n\u003e![Layout of MoErgo Glove80](https://raw.githubusercontent.com/sunaku/sunaku.github.io/master/moergo-glove80-keyboard-base-layer.png)\n\n* This is [my Remnant](https://sunaku.github.io/ergohaven-remnant-keyboard.html) keyboard by Ergohaven:\n\u003e![Photo of Ergohaven Remnant](https://raw.githubusercontent.com/sunaku/sunaku.github.io/master/ergohaven-remnant-keyboard-photograph.jpg)\n\u003e![Layout of Ergohaven Remnant](https://raw.githubusercontent.com/sunaku/sunaku.github.io/master/ergohaven-remnant-keyboard-base-layer.png)\n\n## Linux setup\n\nInstall:\n\n    cd linux/\n    sudo make install\n    echo Now restart your graphical session.\n\nActivate:\n\n    setxkbmap -layout us    -variant engrammer         # one layout; no switch\n    setxkbmap -layout us,us -variant engrammer,basic   # dual layout switching\n\nRepair (e.g. whenever a system-wide XKB package upgrade reverts installation):\n\n    cd linux/\n    sudo make reinstall\n    echo Now restart your graphical session.\n\nUninstall:\n\n    cd linux/\n    sudo make uninstall\n    echo Now restart your graphical session.\n\n## Windows setup\n\nYou can [download a pre-built installation package](\n  https://github.com/sunaku/engrammer/releases/download/windows/engrammer.zip\n) or build one yourself, like this:\n\n1. Install the official _Microsoft Keyboard Layout Creator_ app: [MSKLC version 1.4](\n  https://www.microsoft.com/en-us/download/details.aspx?id=102134\n).\n\n2. Launch the MSKLC app and open up the `windows\\engrammer.klc` source file.\n\n3. From the \"Project\" menu, select the \"Build DLL and Setup Package\" action.\n\n4. Open the resulting build directory and run the `setup.exe` installer file.\n\n## MacOS setup\n\n1. Copy `macos/Engrammer.bundle` to `~/Library/Keyboard Layouts/` directory\n\n2. Log out and Log in again to your MacOS user\n\n3. Open Keyboard Settings and add Engrammer from the list of English layouts\n\n## Type Fu setup\n\n![type-fu.com](https://github.com/sunaku/engrammer/assets/9863/f90439c8-3d96-4902-b471-45511fba8c33)\n\n1. Launch the [Type Fu](https://type-fu.com/) app, then open the \"More\" menu.\n\n2. Go to Preferences \u003e Keyboard \u003e Functional \u003e \"More\" menu \u003e Import from file.\n\n3. Pick the `type-fu.com/engrammer.tfl` file from your copy of this repository.\n\n## License\n\nReleased under the same terms as [Arno's Engram]:\n\n\u003e MIT License\n\u003e\n\u003e Copyright 2021 Arno Klein\n\u003e\n\u003e Permission is hereby granted, free of charge, to any person obtaining a copy\n\u003e of this software and associated documentation files (the \"Software\"), to deal\n\u003e in the Software without restriction, including without limitation the rights\n\u003e to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\u003e copies of the Software, and to permit persons to whom the Software is\n\u003e furnished to do so, subject to the following conditions:\n\u003e\n\u003e The above copyright notice and this permission notice shall be included in\n\u003e all copies or substantial portions of the Software.\n\u003e\n\u003e THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\u003e IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\u003e FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\u003e AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\u003e LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\u003e OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n\u003e SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunaku%2Fengrammer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsunaku%2Fengrammer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsunaku%2Fengrammer/lists"}