{ "title": "mirrorboard-mac-strict", "rules": [ { "description": "A strictly mirrored one-handed keyboard layout. Hold spacebar to mirror the keyboard layout so that both sides of the keyboard can be intuitively typed by either hand on its own.", "manipulators": [ { "from": { "key_code": "spacebar", "modifiers": { "optional": ["any"] } }, "to": [ { "set_variable": { "name": "mirror", "value": 1 } } ], "to_after_key_up": [ { "set_variable": { "name": "mirror", "value": 0 } } ], "to_if_alone": [ { "key_code": "spacebar" } ], "type": "basic" }, { "from": { "key_code": "delete_or_backspace", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "grave_accent_and_tilde" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "grave_accent_and_tilde", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "delete_or_backspace" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "1", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "0" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "2", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "9" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "3", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "8" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "4", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "7" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "5", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "6" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "6", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "5" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "7", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "4" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "8", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "3" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "9", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "2" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "0", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "1" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "tab", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "open_bracket" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "q", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "p" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "w", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "o" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "e", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "i" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "r", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "u" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "t", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "y" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "y", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "t" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "u", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "r" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "i", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "e" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "o", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "w" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "p", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "q" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "open_bracket", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "tab" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "a", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "semicolon" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "s", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "l" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "d", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "k" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "f", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "j" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "g", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "h" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "h", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "g" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "j", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "f" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "k", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "d" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "l", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "s" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "semicolon", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "a" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "return_or_enter", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "caps_lock" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "caps_lock", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "return_or_enter" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "z", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "slash" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "x", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "period" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "c", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "comma" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "v", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "m" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "b", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "n" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "n", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "b" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "m", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "v" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "comma", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "c" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "period", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "x" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" }, { "from": { "key_code": "slash", "modifiers": { "optional": ["any"] } }, "to": [ { "key_code": "z" } ], "conditions": [ { "type": "variable_if", "name": "mirror", "value": 1 } ], "type": "basic" } ] } ] }