summaryrefslogtreecommitdiff
path: root/karabiner
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2025-12-22 10:59:12 +0800
committerZhineng Li <[email protected]>2025-12-22 10:59:12 +0800
commit741339d9228704dbd4edfe547903e784816312d7 (patch)
tree26ea42c40d2938b0812c34feba0fc652143c1582 /karabiner
parent9ea4b56e311cfe0516c5cb1137fce84232f305e8 (diff)
add karabiner config
Diffstat (limited to 'karabiner')
-rw-r--r--karabiner/karabiner.json122
1 files changed, 122 insertions, 0 deletions
diff --git a/karabiner/karabiner.json b/karabiner/karabiner.json
new file mode 100644
index 0000000..11a68c6
--- /dev/null
+++ b/karabiner/karabiner.json
@@ -0,0 +1,122 @@
+{
+ "global": {
+ "check_for_updates_on_startup": false,
+ "show_in_menu_bar": false
+ },
+ "profiles": [
+ {
+ "complex_modifications": {
+ "rules": [
+ {
+ "description": "Switch input method (right_option+num)",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "1",
+ "modifiers": {
+ "mandatory": ["right_option"],
+ "optional": ["any"]
+ }
+ },
+ "to": { "select_input_source": { "language": "en" } },
+ "type": "basic"
+ },
+ {
+ "from": {
+ "key_code": "2",
+ "modifiers": {
+ "mandatory": ["right_option"],
+ "optional": ["any"]
+ }
+ },
+ "to": {
+ "select_input_source": {
+ "input_mode_id": "com.apple.inputmethod.TCIM.Shuangpin",
+ "input_source_id": "com.apple.inputmethod.TCIM.Shuangpin",
+ "language": "zh-Hant"
+ }
+ },
+ "type": "basic"
+ },
+ {
+ "from": {
+ "key_code": "3",
+ "modifiers": {
+ "mandatory": ["right_option"],
+ "optional": ["any"]
+ }
+ },
+ "to": {
+ "select_input_source": {
+ "input_mode_id": "com.apple.inputmethod.SCIM.Shuangpin",
+ "input_source_id": "com.apple.inputmethod.SCIM.Shuangpin",
+ "language": "zh-Hans"
+ }
+ },
+ "type": "basic"
+ }
+ ]
+ },
+ {
+ "description": "VIM-like navigation (right_command+hjkl)",
+ "manipulators": [
+ {
+ "from": {
+ "key_code": "h",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{ "key_code": "left_arrow" }],
+ "type": "basic"
+ },
+ {
+ "from": {
+ "key_code": "j",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{ "key_code": "down_arrow" }],
+ "type": "basic"
+ },
+ {
+ "from": {
+ "key_code": "k",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{ "key_code": "up_arrow" }],
+ "type": "basic"
+ },
+ {
+ "from": {
+ "key_code": "l",
+ "modifiers": {
+ "mandatory": ["right_command"],
+ "optional": ["any"]
+ }
+ },
+ "to": [{ "key_code": "right_arrow" }],
+ "type": "basic"
+ }
+ ]
+ }
+ ]
+ },
+ "name": "Default profile",
+ "selected": true,
+ "simple_modifications": [
+ {
+ "from": { "key_code": "caps_lock" },
+ "to": [{ "key_code": "left_control" }]
+ }
+ ],
+ "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }
+ }
+ ]
+} \ No newline at end of file