configs

configs
git clone https://git.prime8.dev/configs.git
Log | Files | Refs | README

commit 686bd96a86b12c06a38bdf4eadca64ea545a01ae
parent a6d0a30e605e61a43b90a5f6be93010f8260d2bc
Author: Damian Myrda <damian@prime8.dev>
Date:   Tue,  6 Jan 2026 14:50:37 -0600

Replace colemak-dh with karabiner-elements for keyboard layout

Diffstat:
MBrewfile | 2+-
Mlink.sh | 3+++
Aprograms/karabiner/karabiner.json | 2212+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msetup.sh | 23-----------------------
4 files changed, 2216 insertions(+), 24 deletions(-)

diff --git a/Brewfile b/Brewfile @@ -70,7 +70,7 @@ cask "orion" cask "raycast" # Input -cask "colemak-dh" +cask "karabiner-elements" cask "scroll-reverser" # Fonts diff --git a/link.sh b/link.sh @@ -39,4 +39,7 @@ link_config "$PROGRAMS_DIR/opencode/opencode.json" "$CONFIG_DIR/opencode/opencod link_config "$PROGRAMS_DIR/opencode/command" "$CONFIG_DIR/opencode/command" link_config "$PROGRAMS_DIR/opencode/plugin" "$CONFIG_DIR/opencode/plugin" +# Karabiner +link_config "$PROGRAMS_DIR/karabiner/karabiner.json" "$CONFIG_DIR/karabiner/karabiner.json" + echo "✅ Config symlinks complete!" diff --git a/programs/karabiner/karabiner.json b/programs/karabiner/karabiner.json @@ -0,0 +1,2211 @@ +{ + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "Better Shifting: Shift rolls", + "manipulators": [ + { + "from": { + "key_code": "left_shift", + "modifiers": { "mandatory": ["right_shift"] } + }, + "to": [ + { "key_code": "left_shift" }, + { "key_code": "right_shift" } + ], + "to_if_alone": [ + { + "key_code": "0", + "modifiers": ["right_shift", "left_shift"] + }, + { + "key_code": "9", + "modifiers": ["right_shift", "left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "right_shift", + "modifiers": { "mandatory": ["left_shift"] } + }, + "to": [ + { "key_code": "right_shift" }, + { "key_code": "left_shift" } + ], + "to_if_alone": [ + { + "key_code": "9", + "modifiers": ["right_shift"] + }, + { + "key_code": "0", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Better Shifting: Parentheses on shift keys", + "manipulators": [ + { + "from": { "key_code": "left_shift" }, + "to": [{ "key_code": "left_shift" }], + "to_if_alone": [ + { + "key_code": "9", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { "key_code": "right_shift" }, + "to": [{ "key_code": "right_shift" }], + "to_if_alone": [ + { + "key_code": "0", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Caps Lock to Escape on single press, Control on press and hold.", + "manipulators": [ + { + "from": { + "key_code": "caps_lock", + "modifiers": { "optional": ["any"] } + }, + "to": [{ "key_code": "left_control" }], + "to_if_alone": [{ "key_code": "escape" }], + "type": "basic" + } + ] + }, + { + "description": "CODEmak (Coder's Colemak): re-arrange / unshift number row (rev 6/18)", + "manipulators": [ + { + "description": "Left index: shift-4/$ ⇒ 1", + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "1" }], + "type": "basic" + }, + { + "description": "Left index: 4 ⇒ shift-1/!", + "from": { + "key_code": "4", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Left middle: shift-3/# ⇒ 3", + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "3" }], + "type": "basic" + }, + { + "description": "Left middle: 3 ⇒ shift-3/#", + "from": { + "key_code": "3", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "3", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Left ring: shift-2/@ ⇒ 5", + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "5" }], + "type": "basic" + }, + { + "description": "Left ring: 2 ⇒ shift-5/%", + "from": { + "key_code": "2", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "5", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Left pinkie: shift-1/! ⇒ 7", + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "7" }], + "type": "basic" + }, + { + "description": "Left pinkie: 1 ⇒ shift-7/&", + "from": { + "key_code": "1", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "7", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Left stretch: shift-5/% ⇒ 9", + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "9" }], + "type": "basic" + }, + { + "description": "Left stretch: 5 ⇒ shift-9/(", + "from": { + "key_code": "5", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "9", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Right index: shift-7/& ⇒ 2", + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "2" }], + "type": "basic" + }, + { + "description": "Right index: 7 ⇒ shift-2/@", + "from": { + "key_code": "7", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Right middle: shift-8/* ⇒ 4", + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "4" }], + "type": "basic" + }, + { + "description": "Right middle: 8 ⇒ shift-4/$", + "from": { + "key_code": "8", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Right ring: shift-9/( ⇒ 6", + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "6" }], + "type": "basic" + }, + { + "description": "Right ring: 9 ⇒ shift-6/^", + "from": { + "key_code": "9", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "6", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Right pinkie: shift-0/) ⇒ 8", + "from": { + "key_code": "0", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "8" }], + "type": "basic" + }, + { + "description": "Right pinkie: 0 ⇒ shift-8/*", + "from": { + "key_code": "0", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "8", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "description": "Right stretch: shift-6/^ ⇒ 0", + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["shift"], + "optional": ["command", "control", "option"] + } + }, + "to": [{ "key_code": "0" }], + "type": "basic" + }, + { + "description": "Right stretch: 6 ⇒ shift-0/)", + "from": { + "key_code": "6", + "modifiers": { "optional": ["command", "control", "option"] } + }, + "to": [ + { + "key_code": "0", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Colemak Mod-DH Standard (ANSI)", + "manipulators": [ + { + "from": { + "key_code": "grave_accent_and_tilde", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "grave_accent_and_tilde" }], + "type": "basic" + }, + { + "from": { + "key_code": "1", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "1" }], + "type": "basic" + }, + { + "from": { + "key_code": "2", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "2" }], + "type": "basic" + }, + { + "from": { + "key_code": "4", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "4" }], + "type": "basic" + }, + { + "from": { + "key_code": "5", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "5" }], + "type": "basic" + }, + { + "from": { + "key_code": "6", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "6" }], + "type": "basic" + }, + { + "from": { + "key_code": "7", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "7" }], + "type": "basic" + }, + { + "from": { + "key_code": "8", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "8" }], + "type": "basic" + }, + { + "from": { + "key_code": "9", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "9" }], + "type": "basic" + }, + { + "from": { + "key_code": "0", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "0" }], + "type": "basic" + }, + { + "from": { + "key_code": "hyphen", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "hyphen" }], + "type": "basic" + }, + { + "from": { + "key_code": "equal_sign", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "equal_sign" }], + "type": "basic" + }, + { + "from": { + "key_code": "q", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "q" }], + "type": "basic" + }, + { + "from": { + "key_code": "w", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "w" }], + "type": "basic" + }, + { + "from": { + "key_code": "e", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "f" }], + "type": "basic" + }, + { + "from": { + "key_code": "r", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "p" }], + "type": "basic" + }, + { + "from": { + "key_code": "t", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "b" }], + "type": "basic" + }, + { + "from": { + "key_code": "y", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "j" }], + "type": "basic" + }, + { + "from": { + "key_code": "u", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "l" }], + "type": "basic" + }, + { + "from": { + "key_code": "i", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "u" }], + "type": "basic" + }, + { + "from": { + "key_code": "o", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "y" }], + "type": "basic" + }, + { + "from": { + "key_code": "p", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "semicolon" }], + "type": "basic" + }, + { + "from": { + "key_code": "open_bracket", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "open_bracket" }], + "type": "basic" + }, + { + "from": { + "key_code": "close_bracket", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "close_bracket" }], + "type": "basic" + }, + { + "from": { + "key_code": "backslash", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "backslash" }], + "type": "basic" + }, + { + "from": { + "key_code": "a", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "a" }], + "type": "basic" + }, + { + "from": { + "key_code": "s", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "r" }], + "type": "basic" + }, + { + "from": { + "key_code": "d", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "s" }], + "type": "basic" + }, + { + "from": { + "key_code": "f", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "t" }], + "type": "basic" + }, + { + "from": { + "key_code": "g", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "g" }], + "type": "basic" + }, + { + "from": { + "key_code": "h", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "m" }], + "type": "basic" + }, + { + "from": { + "key_code": "j", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "n" }], + "type": "basic" + }, + { + "from": { + "key_code": "k", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "e" }], + "type": "basic" + }, + { + "from": { + "key_code": "l", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "i" }], + "type": "basic" + }, + { + "from": { + "key_code": "semicolon", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "o" }], + "type": "basic" + }, + { + "from": { + "key_code": "quote", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "quote" }], + "type": "basic" + }, + { + "from": { + "key_code": "z", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "x" }], + "type": "basic" + }, + { + "from": { + "key_code": "x", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "c" }], + "type": "basic" + }, + { + "from": { + "key_code": "c", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "d" }], + "type": "basic" + }, + { + "from": { + "key_code": "v", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "v" }], + "type": "basic" + }, + { + "from": { + "key_code": "b", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "z" }], + "type": "basic" + }, + { + "from": { + "key_code": "n", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "k" }], + "type": "basic" + }, + { + "from": { + "key_code": "m", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "h" }], + "type": "basic" + }, + { + "from": { + "key_code": "comma", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "comma" }], + "type": "basic" + }, + { + "from": { + "key_code": "period", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "period" }], + "type": "basic" + }, + { + "from": { + "key_code": "slash", + "modifiers": { "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] } + }, + "to": [{ "key_code": "slash" }], + "type": "basic" + }, + { + "from": { + "key_code": "grave_accent_and_tilde", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "grave_accent_and_tilde", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "5", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "6", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "7", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "8", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "9", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "0", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "0", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "hyphen", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "hyphen", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "equal_sign", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "equal_sign", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "q", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "e", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "j", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "semicolon", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "open_bracket", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "open_bracket", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "close_bracket", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "close_bracket", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "backslash", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "backslash", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "d", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "h", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "m", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "j", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "e", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "semicolon", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "quote", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "quote", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "d", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "m", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "h", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "comma", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "comma", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "period", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "period", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["left_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["left_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "grave_accent_and_tilde", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "grave_accent_and_tilde", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "5", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "6", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "7", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "8", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "9", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "0", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "0", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "hyphen", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "hyphen", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "equal_sign", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "equal_sign", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "q", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "e", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "j", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "semicolon", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "open_bracket", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "open_bracket", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "close_bracket", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "close_bracket", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "backslash", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "backslash", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "d", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "h", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "m", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "j", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "e", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "semicolon", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "quote", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "quote", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "d", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "m", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "h", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "comma", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "comma", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "period", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "period", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["right_shift"], + "optional": ["caps_lock", "left_command", "left_control", "left_alt", "right_command", "right_control", "right_alt"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["right_shift"] + } + ], + "type": "basic" + } + ] + } + ] + }, + "name": "Default profile", + "selected": true, + "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } + } + ] +} +\ No newline at end of file diff --git a/setup.sh b/setup.sh @@ -56,27 +56,4 @@ else echo "✅ Fish is already the default shell" fi -# Keyboard layout -echo "⌨️ Checking for Colemak-DH layout bundle..." -CASK_BUNDLE="$(find /opt/homebrew/Caskroom/colemak-dh -name "Colemak*.bundle" 2>/dev/null | head -1)" -LAYOUT_DEST="/Library/Keyboard Layouts" - -if [ -n "$CASK_BUNDLE" ] && [ -d "$CASK_BUNDLE/Contents/Resources" ]; then - echo "→ Found layout bundle at $CASK_BUNDLE" - - if sudo cp "$CASK_BUNDLE/Contents/Resources/"*.keylayout "$LAYOUT_DEST" 2>/dev/null; then - echo "✅ Keylayout copied to $LAYOUT_DEST" - else - echo "⚠️ No .keylayout file found or copy failed" - fi - - if sudo cp "$CASK_BUNDLE/Contents/Resources/"*.icns "$LAYOUT_DEST" 2>/dev/null; then - echo "✅ Icon file copied to $LAYOUT_DEST" - else - echo "⚠️ No .icns file found or copy failed (optional)" - fi -else - echo "⚠️ Colemak-DH bundle not found. Install with: brew install --cask colemak-dh" -fi - echo "✅ macOS setup script completed!"