commit 2f7cbc76b62a6f8c87da9e8ca2740f9b9710a5c8
parent e804acd41010ec91d6c7066d1a6b4773b775c4da
Author: Alex Balgavy <alex@balgavy.eu>
Date: Mon, 23 Aug 2021 10:20:29 +0200
karabiner: customize mouse keys
Diffstat:
3 files changed, 232 insertions(+), 562 deletions(-)
diff --git a/karabiner/assets/complex_modifications/1629124626.json b/karabiner/assets/complex_modifications/1629124626.json
@@ -1,471 +0,0 @@
-{
- "title": "Mouse keys (full) (rev 4)",
- "rules": [
- {
- "description": "Mouse keys (full) (rev 4)",
- "manipulators": [
- {
- "type": "basic",
- "from": {
- "key_code": "right_command",
- "modifiers": {
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "key_code": "right_command"
- }
- ],
- "to_after_key_up": [
- {
- "set_variable": {
- "name": "mouse_keys_full",
- "value": 0
- }
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "m",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "set_variable": {
- "name": "mouse_keys_full",
- "value": 1
- }
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "h",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "horizontal_wheel": 32
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- },
- {
- "type": "variable_if",
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "j",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "vertical_wheel": 32
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- },
- {
- "type": "variable_if",
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "k",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "vertical_wheel": -32
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- },
- {
- "type": "variable_if",
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "l",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "horizontal_wheel": -32
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- },
- {
- "type": "variable_if",
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "h",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "x": -1536
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "j",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "y": 1536
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "k",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "y": -1536
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "l",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "x": 1536
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "v",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "pointing_button": "button1"
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "b",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "pointing_button": "button3"
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "n",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "pointing_button": "button2"
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "f",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "speed_multiplier": 2.0
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "d",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "mouse_key": {
- "speed_multiplier": 0.5
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- },
- {
- "type": "basic",
- "from": {
- "key_code": "s",
- "modifiers": {
- "mandatory": [
- "right_command"
- ],
- "optional": [
- "any"
- ]
- }
- },
- "to": [
- {
- "set_variable": {
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- }
- ],
- "to_after_key_up": [
- {
- "set_variable": {
- "name": "mouse_keys_full_scroll",
- "value": 0
- }
- }
- ],
- "conditions": [
- {
- "type": "variable_if",
- "name": "mouse_keys_full",
- "value": 1
- }
- ]
- }
- ]
- }
- ]
-}
diff --git a/karabiner/assets/complex_modifications/mouse_keys.json b/karabiner/assets/complex_modifications/mouse_keys.json
@@ -0,0 +1,141 @@
+{
+ "title": "Mouse keys",
+ "rules": [
+ {
+ "description": "Mouse keys",
+ "manipulators": [
+ {
+ "type": "basic",
+ "from": { "key_code": "tab", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "set_variable": { "name": "mouse_keys_full", "value": 1 } } ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "left_option", "modifiers": { "optional": [ "any" ] } },
+ "to": [ { "key_code": "left_option" } ],
+ "to_after_key_up": [ { "set_variable": { "name": "mouse_keys_full", "value": 0 } } ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "h", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "set_variable": { "name": "mouse_keys_full_scroll", "value": 1 } } ],
+ "to_after_key_up": [ { "set_variable": { "name": "mouse_keys_full_scroll", "value": 0 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "left_shift", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "speed_multiplier": 2.0 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "semicolon", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "speed_multiplier": 0.5 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "j", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "pointing_button": "button1" } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "k", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "pointing_button": "button3" } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+ { "type": "basic",
+ "from": { "key_code": "l", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "pointing_button": "button2" } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "a", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "horizontal_wheel": 32 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 },
+ { "type": "variable_if", "name": "mouse_keys_full_scroll", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "a", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "x": -3072 } } ],
+ "conditions": [ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 } ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "s", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "vertical_wheel": 32 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 },
+ { "type": "variable_if", "name": "mouse_keys_full_scroll", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "s", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "y": 3072 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "d", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "horizontal_wheel": -32 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 },
+ { "type": "variable_if", "name": "mouse_keys_full_scroll", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "d", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "x": 3072 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ },
+
+ {
+ "type": "basic",
+ "from": { "key_code": "w", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "vertical_wheel": -32 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 },
+ { "type": "variable_if", "name": "mouse_keys_full_scroll", "value": 1 }
+ ]
+ },
+ {
+ "type": "basic",
+ "from": { "key_code": "w", "modifiers": { "mandatory": [ "left_option" ], "optional": [ "any" ] } },
+ "to": [ { "mouse_key": { "y": -3072 } } ],
+ "conditions": [
+ { "type": "variable_if", "name": "mouse_keys_full", "value": 1 }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/karabiner/karabiner.json b/karabiner/karabiner.json
@@ -42,12 +42,15 @@
]
},
{
- "description": "Mouse keys (full) (rev 4)",
+ "description": "Mouse keys",
"manipulators": [
{
"from": {
- "key_code": "right_command",
+ "key_code": "tab",
"modifiers": {
+ "mandatory": [
+ "left_option"
+ ],
"optional": [
"any"
]
@@ -55,14 +58,9 @@
},
"to": [
{
- "key_code": "right_command"
- }
- ],
- "to_after_key_up": [
- {
"set_variable": {
"name": "mouse_keys_full",
- "value": 0
+ "value": 1
}
}
],
@@ -70,11 +68,8 @@
},
{
"from": {
- "key_code": "m",
+ "key_code": "left_option",
"modifiers": {
- "mandatory": [
- "right_command"
- ],
"optional": [
"any"
]
@@ -82,9 +77,14 @@
},
"to": [
{
+ "key_code": "left_option"
+ }
+ ],
+ "to_after_key_up": [
+ {
"set_variable": {
"name": "mouse_keys_full",
- "value": 1
+ "value": 0
}
}
],
@@ -96,18 +96,13 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
- },
- {
- "name": "mouse_keys_full_scroll",
- "type": "variable_if",
- "value": 1
}
],
"from": {
"key_code": "h",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -116,8 +111,17 @@
},
"to": [
{
- "mouse_key": {
- "horizontal_wheel": 32
+ "set_variable": {
+ "name": "mouse_keys_full_scroll",
+ "value": 1
+ }
+ }
+ ],
+ "to_after_key_up": [
+ {
+ "set_variable": {
+ "name": "mouse_keys_full_scroll",
+ "value": 0
}
}
],
@@ -129,18 +133,13 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
- },
- {
- "name": "mouse_keys_full_scroll",
- "type": "variable_if",
- "value": 1
}
],
"from": {
- "key_code": "j",
+ "key_code": "left_shift",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -150,7 +149,7 @@
"to": [
{
"mouse_key": {
- "vertical_wheel": 32
+ "speed_multiplier": 2.0
}
}
],
@@ -162,18 +161,13 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
- },
- {
- "name": "mouse_keys_full_scroll",
- "type": "variable_if",
- "value": 1
}
],
"from": {
- "key_code": "k",
+ "key_code": "semicolon",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -183,7 +177,7 @@
"to": [
{
"mouse_key": {
- "vertical_wheel": -32
+ "speed_multiplier": 0.5
}
}
],
@@ -195,18 +189,13 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
- },
- {
- "name": "mouse_keys_full_scroll",
- "type": "variable_if",
- "value": 1
}
],
"from": {
- "key_code": "l",
+ "key_code": "j",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -215,9 +204,7 @@
},
"to": [
{
- "mouse_key": {
- "horizontal_wheel": -32
- }
+ "pointing_button": "button1"
}
],
"type": "basic"
@@ -231,10 +218,10 @@
}
],
"from": {
- "key_code": "h",
+ "key_code": "k",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -243,9 +230,7 @@
},
"to": [
{
- "mouse_key": {
- "x": -1536
- }
+ "pointing_button": "button3"
}
],
"type": "basic"
@@ -259,10 +244,10 @@
}
],
"from": {
- "key_code": "j",
+ "key_code": "l",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -271,9 +256,7 @@
},
"to": [
{
- "mouse_key": {
- "y": 1536
- }
+ "pointing_button": "button2"
}
],
"type": "basic"
@@ -284,13 +267,18 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
+ },
+ {
+ "name": "mouse_keys_full_scroll",
+ "type": "variable_if",
+ "value": 1
}
],
"from": {
- "key_code": "k",
+ "key_code": "a",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -300,7 +288,7 @@
"to": [
{
"mouse_key": {
- "y": -1536
+ "horizontal_wheel": 32
}
}
],
@@ -315,10 +303,10 @@
}
],
"from": {
- "key_code": "l",
+ "key_code": "a",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -328,7 +316,7 @@
"to": [
{
"mouse_key": {
- "x": 1536
+ "x": -3072
}
}
],
@@ -340,13 +328,18 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
+ },
+ {
+ "name": "mouse_keys_full_scroll",
+ "type": "variable_if",
+ "value": 1
}
],
"from": {
- "key_code": "v",
+ "key_code": "s",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -355,7 +348,9 @@
},
"to": [
{
- "pointing_button": "button1"
+ "mouse_key": {
+ "vertical_wheel": 32
+ }
}
],
"type": "basic"
@@ -369,10 +364,10 @@
}
],
"from": {
- "key_code": "b",
+ "key_code": "s",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -381,7 +376,9 @@
},
"to": [
{
- "pointing_button": "button3"
+ "mouse_key": {
+ "y": 3072
+ }
}
],
"type": "basic"
@@ -392,13 +389,18 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
+ },
+ {
+ "name": "mouse_keys_full_scroll",
+ "type": "variable_if",
+ "value": 1
}
],
"from": {
- "key_code": "n",
+ "key_code": "d",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -407,7 +409,9 @@
},
"to": [
{
- "pointing_button": "button2"
+ "mouse_key": {
+ "horizontal_wheel": -32
+ }
}
],
"type": "basic"
@@ -421,10 +425,10 @@
}
],
"from": {
- "key_code": "f",
+ "key_code": "d",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -434,7 +438,7 @@
"to": [
{
"mouse_key": {
- "speed_multiplier": 2.0
+ "x": 3072
}
}
],
@@ -446,13 +450,18 @@
"name": "mouse_keys_full",
"type": "variable_if",
"value": 1
+ },
+ {
+ "name": "mouse_keys_full_scroll",
+ "type": "variable_if",
+ "value": 1
}
],
"from": {
- "key_code": "d",
+ "key_code": "w",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -462,7 +471,7 @@
"to": [
{
"mouse_key": {
- "speed_multiplier": 0.5
+ "vertical_wheel": -32
}
}
],
@@ -477,10 +486,10 @@
}
],
"from": {
- "key_code": "s",
+ "key_code": "w",
"modifiers": {
"mandatory": [
- "right_command"
+ "left_option"
],
"optional": [
"any"
@@ -489,17 +498,8 @@
},
"to": [
{
- "set_variable": {
- "name": "mouse_keys_full_scroll",
- "value": 1
- }
- }
- ],
- "to_after_key_up": [
- {
- "set_variable": {
- "name": "mouse_keys_full_scroll",
- "value": 0
+ "mouse_key": {
+ "y": -3072
}
}
],