macos-wm/.config/karabiner/karabiner.yaml

117 lines
4.9 KiB
YAML

global:
check_for_updates_on_startup: false
show_in_menu_bar: true
show_profile_name_in_menu_bar: false
profiles:
- name: Default profile
selected: true
simple_modifications:
- {from: {key_code: caps_lock}, to: {key_code: left_control}}
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
rules:
- description: Both shifts -> caps lock
manipulators:
- from: {key_code: left_shift, modifiers: {mandatory: [right_shift], optional: [caps_lock]}}
to: [{key_code: caps_lock}]
to_if_alone: [{key_code: left_shift}]
type: basic
- from: {key_code: right_shift, modifiers: {mandatory: [left_shift], optional: [caps_lock]}}
to: [{key_code: caps_lock}]
to_if_alone: [{key_code: right_shift}]
type: basic
- description: No-Op command-q
manipulators:
- from: {key_code: q, modifiers: {mandatory: [command], optional: [caps_lock]}}
type: basic
- description: command-shift-q -> command-alt-q
manipulators:
- from: {key_code: q, modifiers: {mandatory: [command, shift], optional: [caps_lock]}}
to: [{key_code: q, modifiers: [left_command, left_option]}]
type: basic
- description: C-backspace -> M-backspace, except in Emacs, because Emacs is fine
manipulators:
- conditions: [{type: frontmost_application_unless, bundle_identifiers: [org.gnu.Emacs]}]
from: {key_code: delete_or_backspace, modifiers: {mandatory: [control], optional: [caps_lock]}}
to: [{key_code: delete_or_backspace, modifiers: [left_option]}]
type: basic
- description: Alt-left in Firefox -> Ctrl-left
manipulators:
- <<: &match_firefox
conditions: [{type: frontmost_application_if, bundle_identifiers: [org.mozilla.firefox]}]
from: {key_code: left_arrow, modifiers: {mandatory: [option]}}
to: [{key_code: left_arrow, modifiers: [left_control]}]
type: basic
- description: Alt-right in Firefox -> Ctrl-right
manipulators:
- <<: *match_firefox
from: {key_code: right_arrow, modifiers: {mandatory: [option]}}
to: [{key_code: right_arrow, modifiers: [left_control]}]
type: basic
- description: stop fullscreen in firefox
manipulators:
- <<: *match_firefox
from: {key_code: f, modifiers: {mandatory: [left_control]}}
to: [{key_code: f, modifiers: [command]}]
type: basic
- description: mission control mouse to top
manipulators:
- from: {key_code: f3, modifiers: {optional: [caps_lock]}}
to:
# wow this is dumb (moves mouse to top of screen)
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
- mouse_key: {y: -3000, speed_multiplier: 4 }
# then brings up mission control, to show desktop previews
- key_code: mission_control
type: basic
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}}
devices:
- identifiers:
is_keyboard: true
is_pointing_device: false
product_id: 610
vendor_id: 1452
disable_built_in_keyboard_if_exists: false
ignore: false
manipulate_caps_lock_led: true
fn_function_keys: []
simple_modifications: []
virtual_hid_keyboard:
country_code: 0