{"id":16903883,"url":"https://github.com/briansmith/us-brian","last_synced_at":"2025-07-27T19:11:32.471Z","repository":{"id":66120137,"uuid":"51489715","full_name":"briansmith/US-Brian","owner":"briansmith","description":"A customized US keyboard layout for Windows","archived":false,"fork":false,"pushed_at":"2016-02-11T04:05:58.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-20T15:36:09.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/briansmith.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}},"created_at":"2016-02-11T02:34:40.000Z","updated_at":"2016-02-11T03:52:16.000Z","dependencies_parsed_at":"2023-04-30T11:36:11.535Z","dependency_job_id":null,"html_url":"https://github.com/briansmith/US-Brian","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/briansmith/US-Brian","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briansmith%2FUS-Brian","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briansmith%2FUS-Brian/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briansmith%2FUS-Brian/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briansmith%2FUS-Brian/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/briansmith","download_url":"https://codeload.github.com/briansmith/US-Brian/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briansmith%2FUS-Brian/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267408918,"owners_count":24082528,"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-07-27T02:00:11.917Z","response_time":82,"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":"2024-10-13T18:29:36.943Z","updated_at":"2025-07-27T19:11:32.425Z","avatar_url":"https://github.com/briansmith.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿## The “US - Brian” Windows Keyboard Layout\n\n### Key Mappings\n\n| Key Combo | Character | Unicode | HTML Entity | Description          |\n|-----------|-----------|---------|-------------|----------------------|\n| AltGr+'   |     ʻ     | U+02BB  |             | The Hawaiian ʻokina  |\n| AltGr+[   |     “     | U+201C  | `\u0026ldquo;`   | Left Double Quote    |\n| AltGr+]   |     ”     | U+201D  | `\u0026rdquo;`   | Right Double Quote   |\n| AltGr+9   |     ‘     | U+2018  | `\u0026lsquo;`   | Left Single Quote    |\n| AltGr+0   |     ’     | U+2019  | `\u0026rsquo;`   | Right Single Quote   |\n| AltGr+-   |     —     | U+2014  | `\u0026mdash;`   | Em dash              |\n| AltGr+2   |     °     | U+00B0  | `\u0026deg;`     | Degree symbol        |\n| AltGr+.   |     …     | U+2026  | `\u0026hellip;`  | Horizontal ellipsis  |\n\n“AltGr” refers to either “Ctrl + Alt” or “Right Alt” in this layout.\n\n![Diagram of keys having additional mappings in this layout.](diagram.png)\n\n### Motivation\n\nI frequently write Hawaiian words like Hawaiʻi and Oʻahu, and I want to be able\nto easily type them without omitting the ʻokina in each word. Windows (as of\nWindows 8) has a Hawaiian keyboard layout, but that layout turns the apostrophe\nkey into the ʻokina and requires the use of AltGr+' to get the apostrophe. That\ndoesn't work for me, especially because I'm a software developer and\nprogramming requires frequent use of the ASCII apostrophe character. Thus, I\ncreated this layout primarily to make it easy to type the ʻokina without\nhindering my programming.\n\nMore generally, I am interested in typography and so I want an easy way to type\nsome characters like “real” quotes, especially in programs that don't\nauto-correct “dumb” quotes into “smart” ones.\n\nFinally, people who live in Hawaiʻi frequently make fun of the terrible weather\nin the rest of the US, and for this it is useful to be able to easily type the\ndegree symbol (°).\n\n### Design choices\n\nIn general, I tried to map each added character to keys that are used for the\ncharacters that are most similar to the added character. Also, I made the\nʻokina mapping the inverse of the official Windows Hawaiian keyboard layout.\n\nIn math, it is most common to nest expressions in parentheses and then brackets,\ne.g. “[-b ± √(b² - 4ac)]/(2a).” In American writing, we nest single quotes\ninside of double quotes, e.g. “It depends on what the meaning of the word ‘is’\nis.” Thus, I mapped single quotes to the keys that have parantheses and I\nmapped double quotes to the keys that have the brackets.\n\n### How to build and install the layout\n\n1. Install [Microsoft .NET Framework 3.5 Service pack 1](https://www.microsoft.com/en-us/download/details.aspx?id=25150).\n2. Install [Microsoft Keyboard Layout Creator 1.4](https://www.microsoft.com/en-us/download/details.aspx?id=22339).\n3. Open [US-Brian.klc](US-Brian.klc) in Microsoft Keyboard Layout Creator.\n4. Select the “Project \u003e Build DLL and Setup Package” menu item.\n5. You will be warned that some characters in the layout aren't present in the\n   US locale. Ignore that warning.\n6. When the build finishes, you will be prompted to open the folder where the\n   generated files were placed. Then you can double-click the appropriate .MSI\n   package to install the keyboard layout.\n7. Restart your computer. This step may not always be required, but in my\n   experience things only partially work (or don't work at all) without a\n   restart.\n   \nIf you modify the layout without changing its name, you must first uninstall\nthe old version. In fact, as far as I can tell, you must uninstall the old\nversion, then reboot, then install the new version, then reboot.\n\n### The optimal setup\n\nIn addition to installing the “US - Brian” keyboard layout, do the following:\n\n* Disable the Ctrl+Shift shortcut to switch between input methods in\n  “Control Panel” \u003e Language \u003e “Advanced settings” \u003e “Change language bar hot\n  keys”. This shortcut gets accidentally triggered too often when programming.\n  Instead, use the [Windows]+[Space] shortcut.\n* Remove the “US” layout. It is redundant with “US - Brian” and it just gets\n  in the way when switching keyboard layouts. Note that “removing” isn't the\n  same as uninstalling; you can always add the “US” layout back.\n* Add the “United States - International” layout.\n \nThen you can use [Windows]+[Space] to switch between the layouts. This makes\nit easy to switch to the “International” layout to type words like “à la\ncarte” and “El Niño” and then switch back.\n\n### License\n\n[CC0](https://creativecommons.org/publicdomain/zero/1.0/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbriansmith%2Fus-brian","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbriansmith%2Fus-brian","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbriansmith%2Fus-brian/lists"}