From 6ff3224717df840248c6a4e51498110558db9e55 Mon Sep 17 00:00:00 2001 From: smnrg <115929992+smnrg@users.noreply.github.com> Date: Wed, 15 Apr 2026 22:02:10 -0500 Subject: [PATCH] Update HyperJIS: dual-function Escape, add maintainer attribution --- public/json/hyperjis-accents-french.json | 367 ++++++++++++++++++-- public/json/hyperjis-accents-german.json | 192 ++++++++++- public/json/hyperjis-accents-romance.json | 7 +- public/json/hyperjis-accents-spanish.json | 102 +++++- public/json/hyperjis-core.json | 392 +++++++++++----------- 5 files changed, 803 insertions(+), 257 deletions(-) diff --git a/public/json/hyperjis-accents-french.json b/public/json/hyperjis-accents-french.json index dfdb47f01..04700091a 100644 --- a/public/json/hyperjis-accents-french.json +++ b/public/json/hyperjis-accents-french.json @@ -1,85 +1,390 @@ { "title": "HyperJIS Accents: French Extension (Circumflex + Cedilla + Ligatures)", + "maintainers": [ + "smnrg" + ], "rules": [ { - "description": "French circumflex vowels (Fn + Option + vowel)", + "description": "HyperJIS: French circumflex vowels (Fn + Option + vowel)", "manipulators": [ { "type": "basic", - "from": { "key_code": "a", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "a" } ] + "from": { + "key_code": "a", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "a" + } + ] }, { "type": "basic", - "from": { "key_code": "a", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "a", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "a", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "a", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "e", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "e" } ] + "from": { + "key_code": "e", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "e" + } + ] }, { "type": "basic", - "from": { "key_code": "e", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "e", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "e", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "e", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "i", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "i" } ] + "from": { + "key_code": "i", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "i" + } + ] }, { "type": "basic", - "from": { "key_code": "i", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "i", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "i", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "i", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "o", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "o" } ] + "from": { + "key_code": "o", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "o" + } + ] }, { "type": "basic", - "from": { "key_code": "o", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "o", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "o", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "o", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "u", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "u" } ] + "from": { + "key_code": "u", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "u" + } + ] }, { "type": "basic", - "from": { "key_code": "u", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "i", "modifiers": ["left_option"] }, { "key_code": "u", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "u", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "u", + "modifiers": [ + "left_shift" + ] + } + ] } ] }, { - "description": "French cedilla and ligatures (Fn + c/q)", + "description": "HyperJIS: French cedilla and ligatures (Fn + c/q)", "manipulators": [ { "type": "basic", - "from": { "key_code": "c", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "c", "modifiers": ["left_option"] } ] + "from": { + "key_code": "c", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": [ + "left_option" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "c", "modifiers": { "mandatory": ["fn", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "c", "modifiers": ["left_option", "left_shift"] } ] + "from": { + "key_code": "c", + "modifiers": { + "mandatory": [ + "fn", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": [ + "left_option", + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "q", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "q", "modifiers": ["left_option"] } ] + "from": { + "key_code": "q", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": [ + "left_option" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "q", "modifiers": { "mandatory": ["fn", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "q", "modifiers": ["left_option", "left_shift"] } ] + "from": { + "key_code": "q", + "modifiers": { + "mandatory": [ + "fn", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": [ + "left_option", + "left_shift" + ] + } + ] } ] } ] -} +} \ No newline at end of file diff --git a/public/json/hyperjis-accents-german.json b/public/json/hyperjis-accents-german.json index cc8d7cf50..8a0cf00d4 100644 --- a/public/json/hyperjis-accents-german.json +++ b/public/json/hyperjis-accents-german.json @@ -1,50 +1,208 @@ { "title": "HyperJIS Accents: German Extension (Umlauts + Eszett)", + "maintainers": [ + "smnrg" + ], "rules": [ { - "description": "German umlauts (Fn + Option + a/o/u)", + "description": "HyperJIS: German umlauts (Fn + Option + a/o/u)", "manipulators": [ { "type": "basic", - "from": { "key_code": "a", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "a" } ] + "from": { + "key_code": "a", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "a" + } + ] }, { "type": "basic", - "from": { "key_code": "a", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "a", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "a", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "a", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "o", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "o" } ] + "from": { + "key_code": "o", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "o" + } + ] }, { "type": "basic", - "from": { "key_code": "o", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "o", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "o", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "o", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "u", "modifiers": { "mandatory": ["fn", "left_option"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "u" } ] + "from": { + "key_code": "u", + "modifiers": { + "mandatory": [ + "fn", + "left_option" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "u" + } + ] }, { "type": "basic", - "from": { "key_code": "u", "modifiers": { "mandatory": ["fn", "left_option", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "u", "modifiers": ["left_option"] }, { "key_code": "u", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "u", + "modifiers": { + "mandatory": [ + "fn", + "left_option", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "u", + "modifiers": [ + "left_shift" + ] + } + ] } ] }, { - "description": "German Eszett (Fn + s)", + "description": "HyperJIS: German Eszett (Fn + s)", "manipulators": [ { "type": "basic", - "from": { "key_code": "s", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "s", "modifiers": ["left_option"] } ] + "from": { + "key_code": "s", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": [ + "left_option" + ] + } + ] } ] } ] -} +} \ No newline at end of file diff --git a/public/json/hyperjis-accents-romance.json b/public/json/hyperjis-accents-romance.json index 36f41f0c3..5685f3a56 100644 --- a/public/json/hyperjis-accents-romance.json +++ b/public/json/hyperjis-accents-romance.json @@ -1,8 +1,11 @@ { "title": "HyperJIS Accents: Romance Base (Grave/Acute + Typography)", + "maintainers": [ + "smnrg" + ], "rules": [ { - "description": "Grave and acute accents on all vowels (Fn + vowel, double-tap to swap)", + "description": "HyperJIS: Grave and acute accents on all vowels (Fn + vowel, double-tap to swap)", "manipulators": [ { "type": "basic", @@ -947,7 +950,7 @@ ] }, { - "description": "Typography: Euro, guillemets, smart quotes", + "description": "HyperJIS: Typography — Euro, guillemets, smart quotes", "manipulators": [ { "type": "basic", diff --git a/public/json/hyperjis-accents-spanish.json b/public/json/hyperjis-accents-spanish.json index 84de00aa4..71bf8662b 100644 --- a/public/json/hyperjis-accents-spanish.json +++ b/public/json/hyperjis-accents-spanish.json @@ -1,30 +1,112 @@ { "title": "HyperJIS Accents: Spanish Extension (Ñ + Inverted Punctuation)", + "maintainers": [ + "smnrg" + ], "rules": [ { - "description": "Spanish characters (Fn + n/1//)", + "description": "HyperJIS: Spanish characters (Fn + n/1//)", "manipulators": [ { "type": "basic", - "from": { "key_code": "n", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "n", "modifiers": ["left_option"] }, { "key_code": "n" } ] + "from": { + "key_code": "n", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "n" + } + ] }, { "type": "basic", - "from": { "key_code": "n", "modifiers": { "mandatory": ["fn", "left_shift"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "n", "modifiers": ["left_option"] }, { "key_code": "n", "modifiers": ["left_shift"] } ] + "from": { + "key_code": "n", + "modifiers": { + "mandatory": [ + "fn", + "left_shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": [ + "left_option" + ] + }, + { + "key_code": "n", + "modifiers": [ + "left_shift" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "1", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "1", "modifiers": ["left_option"] } ] + "from": { + "key_code": "1", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": [ + "left_option" + ] + } + ] }, { "type": "basic", - "from": { "key_code": "slash", "modifiers": { "mandatory": ["fn"], "optional": ["caps_lock"] } }, - "to": [ { "key_code": "slash", "modifiers": ["left_option", "left_shift"] } ] + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": [ + "left_option", + "left_shift" + ] + } + ] } ] } ] -} +} \ No newline at end of file diff --git a/public/json/hyperjis-core.json b/public/json/hyperjis-core.json index 0887caa1d..14a424536 100644 --- a/public/json/hyperjis-core.json +++ b/public/json/hyperjis-core.json @@ -1,444 +1,421 @@ { "title": "HyperJIS — Core Layout (JIS → US + Vim + Hyper + Tiling)", + "maintainers": [ + "smnrg" + ], "rules": [ { - "description": "HyperJIS: Caps Lock — tap for Escape, hold for Control", + "description": "HyperJIS: Vim navigation — Left Ctrl + H/J/K/L → Arrow keys", "manipulators": [ { "type": "basic", "from": { - "key_code": "caps_lock", + "key_code": "h", "modifiers": { + "mandatory": [ + "left_control" + ], "optional": [ "any" ] } }, - "to_if_alone": [ - { - "key_code": "escape" - } - ], - "to_if_held_down": [ + "to": [ { - "key_code": "left_control" + "key_code": "left_arrow" } ] - } - ] - }, - { - "description": "HyperJIS: Space — tap for Space, hold for Left Control", - "manipulators": [ + }, { "type": "basic", "from": { - "key_code": "spacebar", + "key_code": "j", "modifiers": { + "mandatory": [ + "left_control" + ], "optional": [ "any" ] } }, - "to_if_alone": [ - { - "key_code": "spacebar" - } - ], - "to_if_held_down": [ + "to": [ { - "key_code": "left_control" + "key_code": "down_arrow" } ] - } - ] - }, - { - "description": "HyperJIS: Left Control — tap for Escape, hold for Control", - "manipulators": [ + }, { "type": "basic", "from": { - "key_code": "left_control", + "key_code": "k", "modifiers": { + "mandatory": [ + "left_control" + ], "optional": [ "any" ] } }, - "to_if_alone": [ - { - "key_code": "escape" - } - ], - "to_if_held_down": [ + "to": [ { - "key_code": "left_control" + "key_code": "up_arrow" } ] - } - ] - }, - { - "description": "HyperJIS: Left Option → Hyper Key (⌃⌥⇧⌘)", - "manipulators": [ + }, { "type": "basic", "from": { - "key_code": "left_option", + "key_code": "l", "modifiers": { + "mandatory": [ + "left_control" + ], "optional": [ "any" ] } }, - "to_if_alone": [ - { - "key_code": "left_shift", - "modifiers": [ - "left_command", - "left_control", - "left_option" - ] - } - ], - "to_if_held_down": [ + "to": [ { - "key_code": "left_shift", - "modifiers": [ - "left_command", - "left_control", - "left_option" - ] + "key_code": "right_arrow" } ] } ] }, { - "description": "HyperJIS: Fn — tap for Language Switch, hold for Hyper (⌃⌥⇧⌘)", + "description": "HyperJIS: International3 (¥) → Grave accent / Tilde", "manipulators": [ { "type": "basic", "from": { - "key_code": "fn", - "modifiers": { - "optional": [ - "any" - ] - } + "key_code": "international3" }, - "to_if_alone": [ - { - "apple_vendor_top_case_key_code": "keyboard_fn" - } - ], - "to_if_held_down": [ + "to": [ { - "key_code": "left_shift", - "modifiers": [ - "left_command", - "left_control", - "left_option" - ] + "key_code": "grave_accent_and_tilde" } ] - } - ] - }, - { - "description": "HyperJIS: Vim Navigation — Left Ctrl + H/J/K/L → Arrow Keys", - "manipulators": [ + }, { "type": "basic", "from": { - "key_code": "h", + "key_code": "international3", "modifiers": { "mandatory": [ - "left_control" - ], - "optional": [ - "any" + "shift" ] } }, "to": [ { - "key_code": "left_arrow" + "key_code": "grave_accent_and_tilde", + "modifiers": [ + "shift" + ] } ] }, { "type": "basic", "from": { - "key_code": "j", + "key_code": "international3", "modifiers": { "mandatory": [ - "left_control" - ], - "optional": [ - "any" + "option" ] } }, "to": [ { - "key_code": "down_arrow" + "key_code": "grave_accent_and_tilde", + "modifiers": [ + "option" + ] } ] }, { "type": "basic", "from": { - "key_code": "k", + "key_code": "international3", "modifiers": { "mandatory": [ - "left_control" - ], - "optional": [ - "any" + "shift", + "option" ] } }, "to": [ { - "key_code": "up_arrow" + "key_code": "grave_accent_and_tilde", + "modifiers": [ + "shift", + "option" + ] } ] - }, + } + ] + }, + { + "description": "HyperJIS: Escape — tap for Screenshot (⇧⌘4), hold for ⌃⌥⇧⌘W", + "manipulators": [ { "type": "basic", "from": { - "key_code": "l", - "modifiers": { - "mandatory": [ - "left_control" - ], - "optional": [ - "any" + "key_code": "escape" + }, + "to_if_alone": [ + { + "key_code": "4", + "modifiers": [ + "left_shift", + "left_command" ] } - }, - "to": [ + ], + "to_if_held_down": [ { - "key_code": "right_arrow" + "key_code": "w", + "modifiers": [ + "left_control", + "left_option", + "left_shift", + "left_command" + ] } ] } ] }, { - "description": "HyperJIS: JIS Bottom Row — Eisuu (英数) → Left Command", + "description": "HyperJIS: International1 (ろ) → Emoji picker (⌃⌘Space)", "manipulators": [ { "type": "basic", "from": { - "key_code": "japanese_eisuu", - "modifiers": { - "optional": [ - "any" - ] - } + "key_code": "international1" }, "to": [ { - "key_code": "left_command" + "key_code": "spacebar", + "modifiers": [ + "left_command", + "left_control" + ] } ] } ] }, { - "description": "HyperJIS: JIS Bottom Row — Kana (かな) → Right Command", + "description": "HyperJIS: Space — tap for Space, hold for Left Control", "manipulators": [ { "type": "basic", "from": { - "key_code": "japanese_kana", + "key_code": "spacebar", "modifiers": { "optional": [ "any" ] } }, - "to": [ + "to_if_alone": [ { - "key_code": "right_command" + "key_code": "spacebar" + } + ], + "to_if_held_down": [ + { + "key_code": "left_control" } ] } ] }, { - "description": "HyperJIS: Left Command → Left Option", + "description": "HyperJIS: Left Control — tap for Escape, hold for Control", "manipulators": [ { "type": "basic", "from": { - "key_code": "left_command", + "key_code": "left_control", "modifiers": { "optional": [ "any" ] } }, - "to": [ + "to_if_alone": [ { - "key_code": "left_option" + "key_code": "escape" + } + ], + "to_if_held_down": [ + { + "key_code": "left_control" } ] } ] }, { - "description": "HyperJIS: Right Command → Right Option", + "description": "HyperJIS: Left Option → Hyper key (⌃⌥⇧⌘)", "manipulators": [ { "type": "basic", "from": { - "key_code": "right_command", + "key_code": "left_option", "modifiers": { "optional": [ "any" ] } }, - "to": [ + "to_if_alone": [ { - "key_code": "right_option" + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] + } + ], + "to_if_held_down": [ + { + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] } ] } ] }, { - "description": "HyperJIS: International3 (¥) → Grave Accent / Tilde", + "description": "HyperJIS: Fn — tap for Language Switch, hold for Hyper (⌃⌥⇧⌘)", "manipulators": [ { "type": "basic", "from": { - "key_code": "international3" - }, - "to": [ - { - "key_code": "grave_accent_and_tilde" - } - ] - }, - { - "type": "basic", - "from": { - "key_code": "international3", + "key_code": "fn", "modifiers": { - "mandatory": [ - "shift" + "optional": [ + "any" ] } }, - "to": [ + "to_if_alone": [ { - "key_code": "grave_accent_and_tilde", + "apple_vendor_top_case_key_code": "keyboard_fn" + } + ], + "to_if_held_down": [ + { + "key_code": "left_shift", "modifiers": [ - "shift" + "left_command", + "left_control", + "left_option" ] } ] - }, + } + ] + }, + { + "description": "HyperJIS: Left Command → Left Option", + "manipulators": [ { "type": "basic", "from": { - "key_code": "international3", + "key_code": "left_command", "modifiers": { - "mandatory": [ - "option" + "optional": [ + "any" ] } }, "to": [ { - "key_code": "grave_accent_and_tilde", - "modifiers": [ - "option" - ] + "key_code": "left_option" } ] - }, + } + ] + }, + { + "description": "HyperJIS: Eisuu (英数) → Left Command", + "manipulators": [ { "type": "basic", "from": { - "key_code": "international3", + "key_code": "japanese_eisuu", "modifiers": { - "mandatory": [ - "shift", - "option" + "optional": [ + "any" ] } }, "to": [ { - "key_code": "grave_accent_and_tilde", - "modifiers": [ - "shift", - "option" - ] + "key_code": "left_command" } ] } ] }, { - "description": "HyperJIS: International1 → Emoji Picker (⌃⌘Space)", + "description": "HyperJIS: Kana (かな) → Right Command", "manipulators": [ { "type": "basic", "from": { - "key_code": "international1" + "key_code": "japanese_kana", + "modifiers": { + "optional": [ + "any" + ] + } }, "to": [ { - "key_code": "spacebar", - "modifiers": [ - "left_command", - "left_control" - ] + "key_code": "right_command" } ] } ] }, { - "description": "HyperJIS: Escape — tap for Screenshot, hold for Hyper+W", + "description": "HyperJIS: Right Command → Right Option", "manipulators": [ { "type": "basic", "from": { - "key_code": "escape" - }, - "to_if_alone": [ - { - "key_code": "4", - "modifiers": [ - "left_shift", - "left_command" + "key_code": "right_command", + "modifiers": { + "optional": [ + "any" ] } - ], - "to_if_held_down": [ + }, + "to": [ { - "key_code": "w", - "modifiers": [ - "left_control", - "left_option", - "left_shift", - "left_command" - ] + "key_code": "right_option" } ] } ] }, { - "description": "HyperJIS: Arrow Keys → Fn+HJKL (frees arrows for window tiling via Swish)", + "description": "HyperJIS: Arrow keys → Fn+HJKL (frees arrows for window tiling)", "manipulators": [ { "type": "basic", @@ -517,6 +494,27 @@ ] } ] + }, + { + "description": "HyperJIS: Caps Lock → Fn", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "fn" + } + ] + } + ] } ] } \ No newline at end of file