diff options
-rw-r--r-- | karabiner.json | 736 | ||||
-rwxr-xr-x | scripts/keys/fast-forward.sh | 3 | ||||
-rwxr-xr-x | scripts/keys/play-or-pause.sh | 3 | ||||
-rwxr-xr-x | scripts/keys/rewind.sh | 3 |
4 files changed, 745 insertions, 0 deletions
diff --git a/karabiner.json b/karabiner.json new file mode 100644 index 0000000..b3bc706 --- /dev/null +++ b/karabiner.json @@ -0,0 +1,736 @@ +{ + "global": { + "ask_for_confirmation_before_quitting": true, + "check_for_updates_on_startup": true, + "show_in_menu_bar": true, + "show_profile_name_in_menu_bar": false, + "unsafe_ui": false + }, + "profiles": [ + { + "complex_modifications": { + "parameters": { + "basic.simultaneous_threshold_milliseconds": 50, + "basic.to_delayed_action_delay_milliseconds": 500, + "basic.to_if_alone_timeout_milliseconds": 1000, + "basic.to_if_held_down_threshold_milliseconds": 500, + "mouse_motion_to_scroll.speed": 100 + }, + "rules": [ + { + "description": "Enable Num Lock Toggle", + "manipulators": [ + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_if", + "value": 0 + } + ], + "description": "Set Numlock", + "from": { + "key_code": "f19", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "set_variable": { + "name": "Num Lock", + "value": 1 + } + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 0 + } + ], + "description": "Unset Numlock", + "from": { + "key_code": "f19", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "set_variable": { + "name": "Num Lock", + "value": 0 + } + } + ], + "type": "basic" + } + ] + }, + { + "description": "Numpad Slash to Undo/Redo", + "manipulators": [ + { + "from": { + "key_code": "keypad_slash", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": [ + "left_command", + "left_shift" + ] + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "keypad_slash" + }, + "to": [ + { + "key_code": "z", + "modifiers": [ + "left_command" + ] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Numpad Keys", + "manipulators": [ + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_7", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "home" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_8", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "up_arrow" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_9", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "page_up" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_4", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_arrow" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_6", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "right_arrow" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_1", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "end" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_2", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "down_arrow" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_3", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "page_down" + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_period", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_0", + "modifiers": { + "mandatory": [ + "shift" + ] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_0", + "modifiers": { + "mandatory": [ + "control" + ] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": [ + "command" + ] + } + ], + "type": "basic" + }, + { + "conditions": [ + { + "name": "Num Lock", + "type": "variable_unless", + "value": 1 + } + ], + "from": { + "key_code": "keypad_5" + }, + "to": [ + { + "key_code": "vk_none" + } + ], + "type": "basic" + } + ] + }, + { + "description": "Custom media key handlers", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "f7" + }, + "to": [ + { + "shell_command": "~/.dotfiles/scripts/keys/rewind.sh" + } + ] + }, + { + "type": "basic", + "from": { + "key_code": "f8" + }, + "to": [ + { + "shell_command": "~/.dotfiles/scripts/keys/play-or-pause.sh" + } + ] + }, + { + "type": "basic", + "from": { + "key_code": "f9" + }, + "to": [ + { + "shell_command": "~/.dotfiles/scripts/keys/fast-forward.sh" + } + ] + } + ] + } + ] + }, + "devices": [ + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 544, + "vendor_id": 1452 + }, + "ignore": false, + "manipulate_caps_lock_led": true, + "simple_modifications": [ + { + "from": { + "key_code": "f4" + }, + "to": [ + { + "apple_vendor_keyboard_key_code": "launchpad" + } + ] + }, + { + "from": { + "key_code": "f16" + }, + "to": [ + { + "key_code": "left_arrow" + } + ] + }, + { + "from": { + "key_code": "f17" + }, + "to": [ + { + "key_code": "down_arrow" + } + ] + }, + { + "from": { + "key_code": "f18" + }, + "to": [ + { + "key_code": "up_arrow" + } + ] + }, + { + "from": { + "key_code": "f19" + }, + "to": [ + { + "key_code": "right_arrow" + } + ] + }, + { + "from": { + "key_code": "keypad_asterisk" + }, + "to": [ + { + "key_code": "left_shift" + } + ] + }, + { + "from": { + "key_code": "page_down" + }, + "to": [ + { + "key_code": "left_option" + } + ] + } + ], + "treat_as_built_in_keyboard": false + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": false, + "is_pointing_device": true, + "product_id": 772, + "vendor_id": 1452 + }, + "ignore": true, + "manipulate_caps_lock_led": false, + "simple_modifications": [], + "treat_as_built_in_keyboard": false + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": false, + "is_pointing_device": true, + "product_id": 613, + "vendor_id": 76 + }, + "ignore": true, + "manipulate_caps_lock_led": false, + "simple_modifications": [], + "treat_as_built_in_keyboard": false + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 34304, + "vendor_id": 1452 + }, + "ignore": false, + "manipulate_caps_lock_led": true, + "simple_modifications": [], + "treat_as_built_in_keyboard": false + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": false, + "is_pointing_device": true, + "product_id": 613, + "vendor_id": 1452 + }, + "ignore": true, + "manipulate_caps_lock_led": false, + "simple_modifications": [], + "treat_as_built_in_keyboard": false + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 671, + "vendor_id": 76 + }, + "ignore": false, + "manipulate_caps_lock_led": true, + "simple_modifications": [], + "treat_as_built_in_keyboard": false + } + ], + "fn_function_keys": [ + { + "from": { + "key_code": "f1" + }, + "to": [ + { + "consumer_key_code": "display_brightness_decrement" + } + ] + }, + { + "from": { + "key_code": "f2" + }, + "to": [ + { + "consumer_key_code": "display_brightness_increment" + } + ] + }, + { + "from": { + "key_code": "f3" + }, + "to": [ + { + "apple_vendor_keyboard_key_code": "mission_control" + } + ] + }, + { + "from": { + "key_code": "f4" + }, + "to": [ + { + "apple_vendor_keyboard_key_code": "spotlight" + } + ] + }, + { + "from": { + "key_code": "f5" + }, + "to": [ + { + "consumer_key_code": "dictation" + } + ] + }, + { + "from": { + "key_code": "f6" + }, + "to": [ + { + "key_code": "f6" + } + ] + }, + { + "from": { + "key_code": "f10" + }, + "to": [ + { + "consumer_key_code": "mute" + } + ] + }, + { + "from": { + "key_code": "f11" + }, + "to": [ + { + "consumer_key_code": "volume_decrement" + } + ] + }, + { + "from": { + "key_code": "f12" + }, + "to": [ + { + "consumer_key_code": "volume_increment" + } + ] + } + ], + "name": "Default profile", + "parameters": { + "delay_milliseconds_before_open_device": 1000 + }, + "selected": true, + "simple_modifications": [ + { + "from": { + "key_code": "f11" + }, + "to": [ + { + "consumer_key_code": "volume_decrement" + } + ] + }, + { + "from": { + "key_code": "f12" + }, + "to": [ + { + "consumer_key_code": "volume_increment" + } + ] + }, + { + "from": { + "key_code": "f10" + }, + "to": [ + { + "consumer_key_code": "mute" + } + ] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "indicate_sticky_modifier_keys_state": true, + "mouse_key_xy_scale": 100 + } + } + ] +} diff --git a/scripts/keys/fast-forward.sh b/scripts/keys/fast-forward.sh new file mode 100755 index 0000000..1f8bf6e --- /dev/null +++ b/scripts/keys/fast-forward.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +osascript -e 'tell application "Music" to next track' diff --git a/scripts/keys/play-or-pause.sh b/scripts/keys/play-or-pause.sh new file mode 100755 index 0000000..0524b56 --- /dev/null +++ b/scripts/keys/play-or-pause.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +osascript -e 'tell application "Music" to playpause' diff --git a/scripts/keys/rewind.sh b/scripts/keys/rewind.sh new file mode 100755 index 0000000..edb5cd4 --- /dev/null +++ b/scripts/keys/rewind.sh @@ -0,0 +1,3 @@ +#!/bin/zsh + +osascript -e 'tell application "Music" to back track' |