Skip to content

Instantly share code, notes, and snippets.

@gxfxyz
Created May 19, 2019 05:22
Show Gist options
  • Star 24 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save gxfxyz/e5f2ac1ce4f5053e9fb6608c10609837 to your computer and use it in GitHub Desktop.
Save gxfxyz/e5f2ac1ce4f5053e9fb6608c10609837 to your computer and use it in GitHub Desktop.
Karabiner-Elements config: switch input source | 输入法切换
{
"title": "Switch input source | 输入法切换",
"rules": [
{
"description": "Tap Command_L (⌘) → Switch input source to English | 短按左 Command (⌘) → 切换到英文输入法",
"manipulators": [
{
"conditions": [
{
"input_sources": [
{
"language": "en"
}
],
"type": "input_source_unless"
}
],
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "f18"
}
],
"to_if_held_down": [
{
"key_code": "left_command"
}
],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"language": "en"
}
],
"type": "input_source_if"
}
],
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "left_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "vk_none"
}
],
"to_if_held_down": [
{
"key_code": "left_command"
}
],
"type": "basic"
}
]
},
{
"description": "Tap Command_R (⌘) → Switch input source to Chinese | 短按右 Command (⌘) → 切换到中文输入法",
"manipulators": [
{
"conditions": [
{
"input_sources": [
{
"language": "zh-Hans"
}
],
"type": "input_source_unless"
}
],
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "f18"
}
],
"to_if_held_down": [
{
"key_code": "right_command"
}
],
"type": "basic"
},
{
"conditions": [
{
"input_sources": [
{
"language": "zh-Hans"
}
],
"type": "input_source_if"
}
],
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "right_command",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "vk_none"
}
],
"to_if_held_down": [
{
"key_code": "right_command"
}
],
"type": "basic"
}
]
},
{
"description": "Tap Shift_L (⇧) → Switch input source (F18) | 短按左 Shift (⇧) → 切换输入法",
"manipulators": [
{
"from": {
"key_code": "left_shift",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "left_shift"
}
],
"to_if_alone": [
{
"key_code": "f18"
}
],
"to_if_held_down": [
{
"key_code": "left_shift"
}
],
"type": "basic"
}
]
},
{
"description": "Tap Shift_R (⇧) → Switch input source (F18) | 短按右 Shift (⇧) → 切换输入法",
"manipulators": [
{
"from": {
"key_code": "right_shift",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "right_shift"
}
],
"to_if_alone": [
{
"key_code": "f18"
}
],
"to_if_held_down": [
{
"key_code": "right_shift"
}
],
"type": "basic"
}
]
},
{
"description": "Command_L (⌘) + Space → Switch input source (F18) | 左 Command (⌘) + 空格 → 切换输入法",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"left_command"
],
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "f18"
}
],
"type": "basic"
}
]
},
{
"description": "Command_R (⌘) + Space → Switch input source (F18) | 右 Command (⌘) + 空格 → 切换输入法",
"manipulators": [
{
"from": {
"key_code": "spacebar",
"modifiers": {
"mandatory": [
"right_command"
],
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "f18"
}
],
"type": "basic"
}
]
}
]
}
@gxfxyz
Copy link
Author

gxfxyz commented May 19, 2019

Remaps:

  • Tap Command_L (⌘) → Switch input source to English | 短按左 Command (⌘) → 切换到英文输入法
  • Tap Command_R (⌘) → Switch input source to Chinese | 短按右 Command (⌘) → 切换到中文输入法
  • Tap Shift_L (⇧) → Switch input source (F18) | 短按左 Shift (⇧) → 切换输入法
  • Tap Shift_R (⇧) → Switch input source (F18) | 短按右 Shift (⇧) → 切换输入法
  • Command_L (⌘) + Space → Switch input source (F18) | 左 Command (⌘) + 空格 → 切换输入法
  • Command_R (⌘) + Space → Switch input source (F18) | 右 Command (⌘) + 空格 → 切换输入法

Click here to import

After import and enable the rules, you have to go to System Preferences > Keyboard > Shortcuts > Input Sources to change the Select the previous input source shortcut to F18 by pressing the shift (⇧) key.

@gxfxyz
Copy link
Author

gxfxyz commented May 20, 2019

@BitionSong
Copy link

左cmd的 右cmd在自定义快捷的?

@gxfxyz
Copy link
Author

gxfxyz commented Feb 23, 2020

@BitionSong 没明白你说的是什么意思?

@BitionSong
Copy link

@BitionSong没明白你说的是什么意思?
左cmd+空格键和 右cmd+空格键可以修改为其他app的快捷键吗?
需要怎么修改呢?

@gxfxyz
Copy link
Author

gxfxyz commented Feb 24, 2020

左cmd+空格键和 右cmd+空格键可以修改为其他app的快捷键吗?
需要怎么修改呢?

@BitionSong 可以的,以左 Command (⌘) 为例,主要就是修改 32-36 行 为你想要的快捷键,然后去除 8-17 行的条件规则

具体请自行参考 Karabiner-Elements 的文档和规则样例:
https://pqrs.org/osx/karabiner/document.html
https://ke-complex-modifications.pqrs.org

@llity
Copy link

llity commented Oct 11, 2020

新版kb有点不兼容左control大写,希望测试一下

@mmmmtttt
Copy link

mmmmtttt commented Jan 2, 2023

新版kb有点不兼容左control大写,希望测试一下

@llity
可以调整一下规则的顺序,先把ctrl映射到caps, 再把caps映射到escape和control

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment