{"id":13572187,"url":"https://github.com/jhelvy/jKeyboard","last_synced_at":"2025-04-04T09:31:57.547Z","repository":{"id":86765959,"uuid":"124119003","full_name":"jhelvy/jKeyboard","owner":"jhelvy","description":"Files for creating my custom keyboard, including my Karabiner-Elements settings and WASD Keyboard layout files","archived":false,"fork":false,"pushed_at":"2024-08-07T01:06:13.000Z","size":670,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-05T01:32:48.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/jhelvy.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":"2018-03-06T18:11:04.000Z","updated_at":"2024-08-07T01:06:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"26b0df83-5801-4ded-bb8a-f7ac59a105cd","html_url":"https://github.com/jhelvy/jKeyboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FjKeyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FjKeyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FjKeyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhelvy%2FjKeyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhelvy","download_url":"https://codeload.github.com/jhelvy/jKeyboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247153662,"owners_count":20892707,"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":[],"created_at":"2024-08-01T14:01:15.987Z","updated_at":"2025-04-04T09:31:52.528Z","avatar_url":"https://github.com/jhelvy.png","language":null,"readme":"# jKeyboard\nIf you were a professional guitarist, wouldn't you play on a premium guitar?\n\nIf you were a chef, wouldn't you invest in a premium chef knife?\n\nWell, as someone who types literally [millions](http://whatpulse.org/jhelvy) of keystrokes a year for my profession, I decided to invest in a premium keyboard by combining [Karabiner-Elements](https://pqrs.org/osx/karabiner/) with a customized [WASD Keyboard](http://www.wasdkeyboards.com/). This repository contains the files for creating my custom keyboard:\n- The `karabiner` folder contains the json files for my [Karabiner-Elements](https://pqrs.org/osx/karabiner/) settings.\n- The `wasd_files` folder contains the Adobe Illustrator file used to make my customized [WASD keyboard](http://www.wasdkeyboards.com/).\n\nMy [Karabiner-Elements](https://pqrs.org/osx/karabiner/) settings enable all sorts of keyboard modifications, including:\n- Use \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e as arrow keys for [navigating the cursor](#navigation) and [selecting text](#selecting-text).\n- Create more convenient and comfortable shortcuts for [common commands](#common-shortcuts), like `cut`, `copy`, `paste`, `delete`, `backspace`, `undo`, `redo`, `find`, and `escape`.\n- [Launch applications](#other-shortcuts) like `Google Chrome` or `Terminal` with a single hotkey.\n- Open `Google Chrome` to a webpage (e.g. gmail) with a single hotkey\n- Type my email send off (`\"Cheers, John\"`) with a single hotkey.\n\n# Table of Contents\n- [Customized WASD Keyboard](#customized-wasd-keyboard)\n- [Karabiner-Elements Settings](#karabiner-elements-settings)\n  - [Installation (mac)](#installation-mac)\n  - [Caps_lock Keyboard](#caps_lock-keyboard)\n    - [Navigation](#navigation)\n    - [Selecting Text](#selecting-text)\n    - [Common Shortcuts](#common-shortcuts)\n    - [Other Shortcuts](#other-shortcuts)\n  - [Custom Function Keys](#custom-function-keys)\n  - [Other Commands](#other-commands)\n- [Example json Settings](#example-json-settings)\n- [License](#license)\n\n# Customized WASD Keyboard\nMy [WASD keyboard](http://www.wasdkeyboards.com/) looks like this:\n![alt text](https://raw.github.com/jhelvy/jKeyboard/master/wasd_files/keyboard_preview.jpg \"Keyboard Layout\")\n\nAll I did to create this was edit the Adobe Illustrator keyboard file (`./wasd_files/keyboard_layout_104.ai`). In addition to adding a bunch of customized icons (e.g. the function keys), I changed the  \u003ckbd\u003ecaps lock\u003c/kbd\u003e key to a blue \u003ckbd\u003ehyper\u003c/kbd\u003e key that when held down (with the help of [Karabiner-Elements](https://pqrs.org/osx/karabiner/)) essentially creates another keyboard with an entirely different functionality (indicated by the small blue icons in the lower-right corners of each key).\n\nFor those curious, the Chinese text on the spacebar is the idiom \"晴耕雨读\", which literally means \"Sunny farm rain read.\" The meaning is to farm on sunny days and read on rainy days. In other words, work hard, life a simple life, and enjoy each present moment.\n\n# Karabiner-Elements Settings\nThe [Karabiner-Elements](https://pqrs.org/osx/karabiner/) json settings are found in `./karabiner/jKeyboard.json`. These particular settings include three separate \"profiles\" that you can select in the Karabiner preference window: 1) jKeyboard-Apple, 2) jKeyboard-WASD, and 3) jKeyboard-CM. The main profile is \"jKeyboard-Apple,\" which is configured for a standard Apple keyboard and includes all the settings described on this page. The other two profiles have additional functionality that is specific to my [WASD keyboard](http://www.wasdkeyboards.com/) and another keyboard by Cooler Master, which I use on different Mac machines.\n\n## Installation (mac)\n1. Download [Karabiner-Elements](https://pqrs.org/osx/karabiner/) and Install.\n2. Open the `karabiner.json` configuration file. To find it, open Terminal.app and type `open ~/.config`, which will open the hidden .config directory in a new Finder window. There you can navigate to `karabiner/karabiner.json` and open/edit that file.\n3. Copy-paste the settings in one of the json files in the `./karabiner/` folder in this repo to overwrite the default karabiner.json file.\n\n## Caps_lock Keyboard\nOne of the primary things my `jKeyboard` settings does is modify the \u003ckbd\u003ecaps lock\u003c/kbd\u003e key such that when held down it essentially creates another keyboard with an entirely different functionality. Here is a summary of the current settings:\n\n### Navigation\n|   Key Combination  |    Maps to    |   Description  |\n|:-------------------|:--------------|:---------------|\n| \u003ckbd\u003ecaps lock\u003c/kbd\u003e | Nothing | Trigger for \"hyper\" keyboard |\n| \u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e | \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Arrow Keys |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e | Home / End |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Go to Start / End of Line |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eU\u003c/kbd\u003e / \u003ckbd\u003eO\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Go to Start / End of Line |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003espacebar\u003c/kbd\u003e | \u003ckbd\u003econtrol\u003c/kbd\u003e | Control key |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003espacebar\u003c/kbd\u003e + \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e | \u003ckbd\u003e⇞\u003c/kbd\u003e / \u003ckbd\u003e⇟\u003c/kbd\u003e | Page Up / Page Down |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003espacebar\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e | \u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Go to Start / End of Next Word |\n\n### Selecting Text\n|   Key Combination  |    Maps to    |   Description  |\n|:-------------------|:--------------|:---------------|\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e | \u003ckbd\u003eshift\u003c/kbd\u003e | Shift key |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e | \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Select Text |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e | Select all to top / bottom |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Select until Start / End of Line |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003eU\u003c/kbd\u003e / \u003ckbd\u003eO\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Select until Start / End of Line |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003e,\u003c/kbd\u003e / \u003ckbd\u003e.\u003c/kbd\u003e | \u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e | Select until Start / End of Next Word |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003e[\u003c/kbd\u003e / \u003ckbd\u003e]\u003c/kbd\u003e | \u003ckbd\u003eoption\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e | Select until Start / End of Paragraph |\n\n### Common Shortcuts\n|   Key Combination  |    Maps to    |   Description  |\n|:-------------------|:--------------|:---------------|\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eN\u003c/kbd\u003e | \u003ckbd\u003ebackspace\u003c/kbd\u003e | Backspace / Delete |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e | \u003ckbd\u003edel\u003c/kbd\u003e | Forward Delete |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eS\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eX\u003c/kbd\u003e | Cut |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eD\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e | Copy |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eV\u003c/kbd\u003e | Paste |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eZ\u003c/kbd\u003e | Undo |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eT\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eY\u003c/kbd\u003e | Redo |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e | Find |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e.\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eG\u003c/kbd\u003e | Find Next |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e,\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003eG\u003c/kbd\u003e | Find Previous |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eE\u003c/kbd\u003e | \u003ckbd\u003eEsc\u003c/kbd\u003e | Escape |\n\n### Other Shortcuts\n|     Key Combination     |    Action    |\n|:------------------------|:-------------|\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e | Open `Google Chrome` |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eZ\u003c/kbd\u003e | Open the file `'foo.txt'` in my Dropbox Folder |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eQuote (')\u003c/kbd\u003e | Open my `Dropbox` folder |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e | Open my `Downloads` folder |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e | Open my `pCloud Drive` folder |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e | Open my `pCloud Sync` folder |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e8\u003c/kbd\u003e | Open `Terminal` |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e2\u003c/kbd\u003e | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003e2\u003c/kbd\u003e (my Sublime Text shortcut to split into two windows)|\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eG\u003c/kbd\u003e | Type my email send off (\"`Cheers, John`\") |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003eY\u003c/kbd\u003e |\u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003eY\u003c/kbd\u003e (my Sublime Text shortcut to send selected text to a REPL) |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e9\u003c/kbd\u003e |\u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003e9\u003c/kbd\u003e (my Sublime Text shortcut to shift focus to the LEFT panel) |\n|\u003ckbd\u003ecaps lock\u003c/kbd\u003e + \u003ckbd\u003e0\u003c/kbd\u003e |\u003ckbd\u003econtrol\u003c/kbd\u003e + \u003ckbd\u003e0\u003c/kbd\u003e (my Sublime Text shortcut to shift focus to the RIGHT panel) |\n\n## Custom Function Keys\nI also changed my function keys to do certain things. While \u003ckbd\u003ef1\u003c/kbd\u003e to \u003ckbd\u003ef4\u003c/kbd\u003e and \u003ckbd\u003ef10\u003c/kbd\u003e to \u003ckbd\u003ef12\u003c/kbd\u003e are the standard mac settings, the keys \u003ckbd\u003ef5\u003c/kbd\u003e to \u003ckbd\u003ef8\u003c/kbd\u003e open specific web pages, and \u003ckbd\u003ef9\u003c/kbd\u003e takes a screen shot:\n\n|     Key      |    Action    |\n|:-------------|:-------------|\n|  \u003ckbd\u003ef1\u003c/kbd\u003e  | Brightness Decrease |\n|  \u003ckbd\u003ef2\u003c/kbd\u003e  | Brightness Increase |\n|  \u003ckbd\u003ef3\u003c/kbd\u003e  | Mission Control |\n|  \u003ckbd\u003ef4\u003c/kbd\u003e  | Dashboard |\n|  \u003ckbd\u003ef5\u003c/kbd\u003e  | Open `Gmail` in Google Chrome |\n|  \u003ckbd\u003ef6\u003c/kbd\u003e  | Open `Google Calendar` in Google Chrome |\n|  \u003ckbd\u003ef7\u003c/kbd\u003e  | Open `Facebook` in Google Chrome |\n|  \u003ckbd\u003ef8\u003c/kbd\u003e  | Open `Intellicast Weather` in Google Chrome |\n|  \u003ckbd\u003ef9\u003c/kbd\u003e  | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eshift\u003c/kbd\u003e + \u003ckbd\u003e3\u003c/kbd\u003e (Save screen shot to Desktop) |\n|  \u003ckbd\u003ef10\u003c/kbd\u003e | Mute |\n|  \u003ckbd\u003ef11\u003c/kbd\u003e | Volume Decrease |\n|  \u003ckbd\u003ef12\u003c/kbd\u003e | Volume Increase |\n\n## Other Commands\nThese are a few other tricks that I find particularly useful:\n\n|     Key      |    Action    |\n|:-------------|:-------------|\n| Tap \u003ckbd\u003eLeft shift\u003c/kbd\u003e  | \u003ckbd\u003e(\u003c/kbd\u003e |\n| Tap \u003ckbd\u003eRight shift\u003c/kbd\u003e | \u003ckbd\u003e)\u003c/kbd\u003e |\n| Hold \u003ckbd\u003eEsc\u003c/kbd\u003e   | \u003ckbd\u003ecommand\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e (Close Window) |\n\n# Example json Settings\nI learned a lot about how to write json settings to get Karabiner-Elements to do different things. I included the following examples in the `./karabiner/json_examples` folder.\n\n|     File      |    Description    |\n|:--------------|:------------------|\n| caps_lock_arrows.json | Hold the \u003ckbd\u003ecaps lock\u003c/kbd\u003e key to turn the \u003ckbd\u003eJ\u003c/kbd\u003e / \u003ckbd\u003eI\u003c/kbd\u003e / \u003ckbd\u003eK\u003c/kbd\u003e / \u003ckbd\u003eL\u003c/kbd\u003e keys into the \u003ckbd\u003e←\u003c/kbd\u003e / \u003ckbd\u003e↑\u003c/kbd\u003e / \u003ckbd\u003e↓\u003c/kbd\u003e / \u003ckbd\u003e→\u003c/kbd\u003e keys |\n| launch_application.json | Launch an Application (in this case Google Chrome) by typing \u003ckbd\u003eright option\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e |\n| open_browser_to_page.json | Open Google Chrome to www.google.com by typing \u003ckbd\u003eright option\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e |\n| tap_shift_keys_for_parentheses.json | Tap \u003ckbd\u003eleft_shift\u003c/kbd\u003e / \u003ckbd\u003eright_shift\u003c/kbd\u003e to get \u003ckbd\u003e(\u003c/kbd\u003e / \u003ckbd\u003e)\u003c/kbd\u003e |\n\n# License\n GPL-3\n\n📣 Shout-out to [@jasonrudolph](https://github.com/jasonrudolph/keyboard),  [@Vonng](https://github.com/Vonng/Capslock), and the [Karabiner Vi Mode Setting](https://pqrs.org/osx/karabiner/complex_modifications/#vi_mode) for inspiration - I learned a lot by copying a lot of their json code!\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhelvy%2FjKeyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhelvy%2FjKeyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhelvy%2FjKeyboard/lists"}