diff --git a/config/karabiner/assets/complex_modifications/1672600379.json b/config/karabiner/assets/complex_modifications/1672600379.json new file mode 100644 index 0000000..359f8b9 --- /dev/null +++ b/config/karabiner/assets/complex_modifications/1672600379.json @@ -0,0 +1,197 @@ +{ + "title": "Change caps_lock key (rev 5)", + "rules": [ + { + "description": "Change caps_lock key to command+control+option+shift if pressed with other keys", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] + } + ], + "to_if_alone": [ + { + "hold_down_milliseconds": 100, + "key_code": "caps_lock" + } + ] + } + ] + }, + { + "description": "Change caps_lock key to command+control+option+shift. (Post escape key when pressed alone)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] + } + ], + "to_if_alone": [ + { + "key_code": "escape" + } + ] + } + ] + }, + { + "description": "Change caps_lock key to command+control+option+shift. (Post f19 key when pressed alone)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] + } + ], + "to_if_alone": [ + { + "key_code": "f19" + } + ] + } + ] + }, + { + "description": "Change caps_lock key to command+control+option+shift. (Use shift+caps_lock as caps_lock)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "mandatory": [ + "shift" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "caps_lock" + } + ] + }, + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_shift", + "modifiers": [ + "left_command", + "left_control", + "left_option" + ] + } + ] + } + ] + }, + { + "description": "Change caps_lock to control if pressed with other keys, to escape if pressed alone.", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_control" + } + ], + "to_if_alone": [ + { + "key_code": "escape" + } + ] + } + ] + }, + { + "description": "Change caps_lock to control if pressed with other keys. (rev 2)", + "manipulators": [ + { + "type": "basic", + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_control" + } + ], + "to_if_alone": [ + { + "key_code": "caps_lock", + "hold_down_milliseconds": 500 + } + ] + } + ] + } + ] +} diff --git a/config/karabiner/karabiner.json b/config/karabiner/karabiner.json new file mode 100644 index 0000000..d8619de --- /dev/null +++ b/config/karabiner/karabiner.json @@ -0,0 +1,226 @@ +{ + "global": { + "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": "Change caps_lock to control if pressed with other keys, to escape if pressed alone.", + "manipulators": [ + { + "from": { + "key_code": "caps_lock", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_control" + } + ], + "to_if_alone": [ + { + "key_code": "escape" + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 632, + "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": 632, + "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": 34304, + "vendor_id": 1452 + }, + "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": "f7" + }, + "to": [ + { + "consumer_key_code": "rewind" + } + ] + }, + { + "from": { + "key_code": "f8" + }, + "to": [ + { + "consumer_key_code": "play_or_pause" + } + ] + }, + { + "from": { + "key_code": "f9" + }, + "to": [ + { + "consumer_key_code": "fast_forward" + } + ] + }, + { + "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": [], + "virtual_hid_keyboard": { + "country_code": 0, + "indicate_sticky_modifier_keys_state": true, + "mouse_key_xy_scale": 100 + } + } + ] +} \ No newline at end of file diff --git a/hosts/ts-tl-mbp/brew.nix b/hosts/ts-tl-mbp/brew.nix index 96573e4..06b5fa1 100644 --- a/hosts/ts-tl-mbp/brew.nix +++ b/hosts/ts-tl-mbp/brew.nix @@ -7,6 +7,7 @@ "discord" "divvy" "firefox" + "jetbrains-toolbox" "karabiner-elements" "slack" "thunderbird" diff --git a/hosts/ts-tl-mbp/home-manager.nix b/hosts/ts-tl-mbp/home-manager.nix index 41c2335..b490ff2 100644 --- a/hosts/ts-tl-mbp/home-manager.nix +++ b/hosts/ts-tl-mbp/home-manager.nix @@ -69,6 +69,17 @@ # }; #}; + + + + # Brew's XDG CONFIGS + xdg.configFile = { + "karabiner" = { + source = ../../config/karabiner; + recursive = true; + }; + }; + }; # -- HomeManager }