From b5921eae413694df6bd5a4ea217ac675b78f9b55 Mon Sep 17 00:00:00 2001 From: Alan Norton Date: Tue, 15 Oct 2024 13:52:23 -0400 Subject: [PATCH] fix asdf prune unused, disable thumbnail for screenshots, karabiner update --- .githelpers | 2 +- .macos | 3 + bin.Darwin/asdf-prune-unused | 129 ++--- bin.Darwin/git-rupall | 4 +- .../automatic_backups/karabiner_20241007.json | 476 ++++++++++++++++++ karabiner/karabiner.json | 391 ++------------ 6 files changed, 588 insertions(+), 417 deletions(-) create mode 100644 karabiner/automatic_backups/karabiner_20241007.json diff --git a/.githelpers b/.githelpers index 79d1b802..e5d5afe6 100644 --- a/.githelpers +++ b/.githelpers @@ -97,7 +97,7 @@ delete_remoteless_branches_interactive(){ python3 $HOME/bin/git-broom.py } -delete_all_my_branches_interactive(){ ] +delete_all_my_branches_interactive(){ for branch in $(git branch | egrep '^\W*(aln|anorton|alan)/'); do printf "Delete $branch, both local and origin? "; read ans; diff --git a/.macos b/.macos index e3a090d3..183b9571 100644 --- a/.macos +++ b/.macos @@ -779,6 +779,9 @@ defaults write com.apple.coreservices.uiagent CSUIHasSafariBeenLaunched -bool YE defaults write com.apple.coreservices.uiagent CSUIRecommendSafariNextNotificationDate -date 2050-01-01T00:00:00Z defaults write com.apple.coreservices.uiagent CSUILastOSVersionWhereSafariRecommendationWasMade -float 10.99 +# Disable "floating thumbnail" preview and screenshot delay +defaults write com.apple.screencapture show-thumbnail -bool false + ############################################################### # _ _ _ # _____ ___ __ ___ _ __(_)_ __ ___ ___ _ __ | |_ __ _| | diff --git a/bin.Darwin/asdf-prune-unused b/bin.Darwin/asdf-prune-unused index c233e41c..b5503fce 100755 --- a/bin.Darwin/asdf-prune-unused +++ b/bin.Darwin/asdf-prune-unused @@ -1,66 +1,69 @@ -#!/usr/bin/env bash +#!/usr/bin/env python -# https://github.com/asdf-vm/asdf/issues/819#issuecomment-852449294 +# Note: You probably want to set a global python version before running this script. +# +# asdf install python latest +# asdf global python latest -# Unoffical Bash "strict mode" -# http://redsymbol.net/articles/unofficial-bash-strict-mode/ -set -euo pipefail -#ORIGINAL_IFS=$IFS -IFS=$'\t\n' # Stricter IFS settings +import subprocess +import os -# Function used to convert lines like this: -# -# ruby 2.0.0 -# ruby 3.0.0 -# elixir 1.10.0 -# -# To lines like this: -# -# ruby 2.0.0 3.0.0 -# elixir 1.10.0 -join_multiple() { - local last='' - local n='' - - while IFS=' ' read -r word definition; do - - if [ "$last" == "$word" ]; then - printf " %s" "$definition" - else - if [ -n "$n" ]; then echo; else n=1; fi - printf "%s\\t%s" "$word" "$definition" - last="$word" - fi - done < "${1:-/dev/stdin}" - echo -} - -# Find command often crashes due to permission issues -version_files="$(find . -maxdepth 3 -name .tool-versions || true)" - -# Combine all .tool-version file contents into one variable -versions_in_use="$( -while read -r filename; do - cat "$filename"; -done <<< "$version_files" -)" - -# Loop over each line of the .tool-versions file -while read -r line; do - IFS=$' \t' read -r -a tool_and_versions <<< "$line" - # Split out the tool name and versions - tool_name="${tool_and_versions[0]}" - global_versions=("${tool_and_versions[@]:1}") - - # Loop over each version of the tool name - for version in $(asdf list "$tool_name"); do - # Trim off leading/trailing tab/spaces - trimmed_version=$(echo "$version" | xargs) - # When version not in `global_versions` array from .tool-versions file - if [[ ! " ${global_versions[*]} " =~ ${trimmed_version} ]]; then - # Remove the version here if you want - echo "> asdf uninstall $tool_name $trimmed_version" - asdf uninstall $tool_name $trimmed_version - fi - done -done < <(echo "$versions_in_use" | sort -k1 | sort -u | join_multiple) +def strip_stars(version): + return version.replace('*', '').strip() + +def find_tool_version_paths_in(dirname): + dirname = os.path.expanduser(dirname) + version_files = subprocess.run(['find', dirname, '-maxdepth', '3', '-name', '.tool-versions'], stdout=subprocess.PIPE, text=True) + versions_in_use = version_files.stdout.splitlines() + return versions_in_use + +def get_installed_versions(tool_name): + result = subprocess.run(['asdf', 'list', tool_name], stdout=subprocess.PIPE, text=True) + versions = [strip_stars(line) for line in result.stdout.splitlines()] + return versions + +def get_in_use_versions_by_tool_name(): + global_paths = [os.path.expanduser('~/.tool-versions')] + tool_version_paths = global_paths + find_tool_version_paths_in('~/wrk') + find_tool_version_paths_in('~/src') + + in_use_map = {} + + for path in tool_version_paths: + with open(path, 'r') as file: + lines = file.readlines() + for line in lines: + tool_name, tool_version = line.strip().split() + tool_version = strip_stars(tool_version) + versions_in_use = in_use_map.get(tool_name, []) + versions_in_use.append(tool_version) + in_use_map[tool_name] = list(set(versions_in_use)) + + return in_use_map + +if __name__ == "__main__": + in_use_map = get_in_use_versions_by_tool_name() + + commands = [] + + for tool_name, versions in in_use_map.items(): + print(f'Checking {tool_name}...') + installed_versions = get_installed_versions(tool_name) + + print(f' In-Use: {", ".join(versions)}') + print(f' Installed: {", ".join(installed_versions)}') + + unused = set(installed_versions) - set(versions) + + print(f' Unused: {", ".join(unused)}') + + for v in unused: + commands.append(f'asdf uninstall {tool_name} {v}') + + if commands: + response = input("🧹 Do you want to uninstall the unused versions? (y/n): ").strip().lower() + if response in ['y', 'yes']: + for c in commands: + print(f'> {c}') + subprocess.run(c, shell=True) + else: + print("✨ No unused versions to uninstall.") diff --git a/bin.Darwin/git-rupall b/bin.Darwin/git-rupall index e4fc7901..4634cd71 100755 --- a/bin.Darwin/git-rupall +++ b/bin.Darwin/git-rupall @@ -4,6 +4,6 @@ MAX_DEPTH=${1:-3} for d in $(find . -maxdepth $MAX_DEPTH -type d -name .git); do cd $(dirname "$d") - git up || git pull - cd - + git up + cd - &> /dev/null done diff --git a/karabiner/automatic_backups/karabiner_20241007.json b/karabiner/automatic_backups/karabiner_20241007.json new file mode 100644 index 00000000..166d3c6a --- /dev/null +++ b/karabiner/automatic_backups/karabiner_20241007.json @@ -0,0 +1,476 @@ +{ + "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": "Post escape if left_control is pressed alone.", + "manipulators": [ + { + "from": { + "key_code": "left_control", + "modifiers": { + "optional": [ + "any" + ] + } + }, + "to": [ + { + "key_code": "left_control" + } + ], + "to_if_alone": [ + { + "key_code": "escape" + } + ], + "type": "basic" + } + ] + }, + { + "description": "Change Fn + h/j/k/l to Arrows", + "manipulators": [ + { + "from": { + "key_code": "h", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "left_arrow" + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "j", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "down_arrow" + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "k", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "up_arrow" + } + ], + "type": "basic" + }, + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": [ + "fn" + ], + "optional": [ + "caps_lock" + ] + } + }, + "to": [ + { + "key_code": "right_arrow" + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 630, + "vendor_id": 1452 + }, + "ignore": false, + "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": 50475, + "vendor_id": 1133 + }, + "ignore": false, + "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": 50475, + "vendor_id": 1133 + }, + "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": 615, + "vendor_id": 76 + }, + "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": true, + "is_pointing_device": true, + "product_id": 45077, + "vendor_id": 1133 + }, + "ignore": false, + "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": 832, + "vendor_id": 1452 + }, + "ignore": false, + "manipulate_caps_lock_led": true, + "simple_modifications": [ + { + "from": { + "key_code": "caps_lock" + }, + "to": [ + { + "key_code": "left_control" + } + ] + } + ], + "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": 832, + "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 + }, + { + "disable_built_in_keyboard_if_exists": false, + "fn_function_keys": [], + "identifiers": { + "is_keyboard": true, + "is_pointing_device": false, + "product_id": 833, + "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": 833, + "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": 666, + "vendor_id": 76 + }, + "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": true, + "is_pointing_device": false, + "product_id": 1031, + "vendor_id": 4176 + }, + "ignore": true, + "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": [ + { + "key_code": "mission_control" + } + ] + }, + { + "from": { + "key_code": "f4" + }, + "to": [ + { + "key_code": "launchpad" + } + ] + }, + { + "from": { + "key_code": "f5" + }, + "to": [ + { + "key_code": "illumination_decrement" + } + ] + }, + { + "from": { + "key_code": "f6" + }, + "to": [ + { + "key_code": "illumination_increment" + } + ] + }, + { + "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": "fastforward" + } + ] + }, + { + "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 Norton", + "parameters": { + "delay_milliseconds_before_open_device": 1000 + }, + "selected": true, + "simple_modifications": [ + { + "from": { + "key_code": "caps_lock" + }, + "to": [ + { + "key_code": "left_control" + } + ] + }, + { + "from": { + "pointing_button": "button4" + }, + "to": [ + { + "key_code": "mission_control" + } + ] + }, + { + "from": { + "pointing_button": "button5" + }, + "to": [ + { + "key_code": "f11" + } + ] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "indicate_sticky_modifier_keys_state": true, + "mouse_key_xy_scale": 100 + } + } + ] +} diff --git a/karabiner/karabiner.json b/karabiner/karabiner.json index 166d3c6a..397341a5 100644 --- a/karabiner/karabiner.json +++ b/karabiner/karabiner.json @@ -1,21 +1,7 @@ { - "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": "Post escape if left_control is pressed alone.", @@ -23,22 +9,10 @@ { "from": { "key_code": "left_control", - "modifiers": { - "optional": [ - "any" - ] - } + "modifiers": { "optional": ["any"] } }, - "to": [ - { - "key_code": "left_control" - } - ], - "to_if_alone": [ - { - "key_code": "escape" - } - ], + "to": [{ "key_code": "left_control" }], + "to_if_alone": [{ "key_code": "escape" }], "type": "basic" } ] @@ -50,76 +24,44 @@ "from": { "key_code": "h", "modifiers": { - "mandatory": [ - "fn" - ], - "optional": [ - "caps_lock" - ] + "mandatory": ["fn"], + "optional": ["caps_lock"] } }, - "to": [ - { - "key_code": "left_arrow" - } - ], + "to": [{ "key_code": "left_arrow" }], "type": "basic" }, { "from": { "key_code": "j", "modifiers": { - "mandatory": [ - "fn" - ], - "optional": [ - "caps_lock" - ] + "mandatory": ["fn"], + "optional": ["caps_lock"] } }, - "to": [ - { - "key_code": "down_arrow" - } - ], + "to": [{ "key_code": "down_arrow" }], "type": "basic" }, { "from": { "key_code": "k", "modifiers": { - "mandatory": [ - "fn" - ], - "optional": [ - "caps_lock" - ] + "mandatory": ["fn"], + "optional": ["caps_lock"] } }, - "to": [ - { - "key_code": "up_arrow" - } - ], + "to": [{ "key_code": "up_arrow" }], "type": "basic" }, { "from": { "key_code": "l", "modifiers": { - "mandatory": [ - "fn" - ], - "optional": [ - "caps_lock" - ] + "mandatory": ["fn"], + "optional": ["caps_lock"] } }, - "to": [ - { - "key_code": "right_arrow" - } - ], + "to": [{ "key_code": "right_arrow" }], "type": "basic" } ] @@ -128,64 +70,31 @@ }, "devices": [ { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], "identifiers": { "is_keyboard": true, - "is_pointing_device": false, "product_id": 630, "vendor_id": 1452 }, - "ignore": false, - "manipulate_caps_lock_led": false, - "simple_modifications": [], - "treat_as_built_in_keyboard": false + "manipulate_caps_lock_led": false }, { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], "identifiers": { - "is_keyboard": false, "is_pointing_device": true, "product_id": 50475, "vendor_id": 1133 }, - "ignore": false, - "manipulate_caps_lock_led": false, - "simple_modifications": [], - "treat_as_built_in_keyboard": false + "ignore": false }, { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], "identifiers": { "is_keyboard": true, - "is_pointing_device": false, "product_id": 50475, "vendor_id": 1133 }, "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": 615, - "vendor_id": 76 - }, - "ignore": false, - "manipulate_caps_lock_led": true, - "simple_modifications": [], - "treat_as_built_in_keyboard": false + "manipulate_caps_lock_led": false }, { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], "identifiers": { "is_keyboard": true, "is_pointing_device": true, @@ -193,284 +102,64 @@ "vendor_id": 1133 }, "ignore": false, - "manipulate_caps_lock_led": false, - "simple_modifications": [], - "treat_as_built_in_keyboard": false + "manipulate_caps_lock_led": false }, { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], "identifiers": { "is_keyboard": true, - "is_pointing_device": false, "product_id": 832, "vendor_id": 1452 }, - "ignore": false, - "manipulate_caps_lock_led": true, "simple_modifications": [ { - "from": { - "key_code": "caps_lock" - }, - "to": [ - { - "key_code": "left_control" - } - ] + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] } - ], - "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": 832, - "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 - }, - { - "disable_built_in_keyboard_if_exists": false, - "fn_function_keys": [], - "identifiers": { - "is_keyboard": true, - "is_pointing_device": false, - "product_id": 833, - "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": 833, - "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": 666, - "vendor_id": 76 - }, - "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": true, - "is_pointing_device": false, - "product_id": 1031, - "vendor_id": 4176 - }, - "ignore": true, - "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": [ - { - "key_code": "mission_control" - } - ] - }, - { - "from": { - "key_code": "f4" - }, - "to": [ - { - "key_code": "launchpad" - } - ] - }, - { - "from": { - "key_code": "f5" - }, - "to": [ - { - "key_code": "illumination_decrement" - } - ] - }, - { - "from": { - "key_code": "f6" - }, - "to": [ - { - "key_code": "illumination_increment" - } - ] - }, - { - "from": { - "key_code": "f7" - }, - "to": [ - { - "consumer_key_code": "rewind" - } - ] - }, - { - "from": { - "key_code": "f8" - }, - "to": [ - { - "consumer_key_code": "play_or_pause" - } - ] + "from": { "key_code": "f3" }, + "to": [{ "key_code": "mission_control" }] }, { - "from": { - "key_code": "f9" - }, - "to": [ - { - "consumer_key_code": "fastforward" - } - ] + "from": { "key_code": "f4" }, + "to": [{ "key_code": "launchpad" }] }, { - "from": { - "key_code": "f10" - }, - "to": [ - { - "consumer_key_code": "mute" - } - ] + "from": { "key_code": "f5" }, + "to": [{ "key_code": "illumination_decrement" }] }, { - "from": { - "key_code": "f11" - }, - "to": [ - { - "consumer_key_code": "volume_decrement" - } - ] + "from": { "key_code": "f6" }, + "to": [{ "key_code": "illumination_increment" }] }, { - "from": { - "key_code": "f12" - }, - "to": [ - { - "consumer_key_code": "volume_increment" - } - ] + "from": { "key_code": "f9" }, + "to": [{ "consumer_key_code": "fastforward" }] } ], "name": "Default Norton", - "parameters": { - "delay_milliseconds_before_open_device": 1000 - }, "selected": true, "simple_modifications": [ { - "from": { - "key_code": "caps_lock" - }, - "to": [ - { - "key_code": "left_control" - } - ] + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] }, { - "from": { - "pointing_button": "button4" - }, - "to": [ - { - "key_code": "mission_control" - } - ] + "from": { "pointing_button": "button4" }, + "to": [{ "key_code": "mission_control" }] }, { - "from": { - "pointing_button": "button5" - }, - "to": [ - { - "key_code": "f11" - } - ] + "from": { "pointing_button": "button5" }, + "to": [{ "key_code": "f11" }] } ], "virtual_hid_keyboard": { "country_code": 0, - "indicate_sticky_modifier_keys_state": true, - "mouse_key_xy_scale": 100 + "keyboard_type_v2": "ansi" } } ] -} +} \ No newline at end of file