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