Skip to content

Instantly share code, notes, and snippets.

@DrMetallius
Created April 22, 2020 17:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DrMetallius/99e5a6d8a19841088cbf8bc6d137a50a to your computer and use it in GitHub Desktop.
Save DrMetallius/99e5a6d8a19841088cbf8bc6d137a50a to your computer and use it in GitHub Desktop.
Karabiner configuration for convenient Mac programming
{
"title": "PC Programmer",
"rules": [
{
"description": "Change grave accent (`) to ё in Russian layout",
"manipulators": [
{
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"language": "ru"
}
]
}
],
"type": "basic",
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "non_us_backslash"
}
]
}
]
},
{
"description": "Swap Command with Ctrl",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control"
}
]
},
{
"type": "basic",
"from": {
"key_code": "left_control",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_command"
}
]
},
{
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_control"
}
]
},
{
"type": "basic",
"from": {
"key_code": "right_control",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_command"
}
]
}
]
},
{
"description": "PC-Style Home/End",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "home",
"modifiers": {
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": [
"left_command"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "home",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "up_arrow",
"modifiers": [
"left_command"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "end",
"modifiers": {
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": [
"left_command"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "end",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "down_arrow",
"modifiers": [
"left_command"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
}
]
},
{
"description": "Option+Tab as Switch Application (Command+Tab)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "tab",
"modifiers": {
"mandatory": [
"option"
],
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "tab",
"modifiers": [
"left_command"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "tab",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "tab",
"modifiers": [
"left_control"
]
}
]
}
]
},
{
"description": "PC-Style Lock Screen",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "l",
"modifiers": {
"mandatory": [
"control"
]
}
},
"to": [
{
"key_code": "q",
"modifiers": [
"left_control",
"left_command"
]
}
]
}
]
},
{
"description": "PC-Style Text Navigation",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_arrow",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "right_arrow",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "up_arrow",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "up_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "down_arrow",
"modifiers": {
"mandatory": [
"command"
],
"optional": [
"shift"
]
}
},
"to": [
{
"key_code": "down_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "frontmost_application_unless",
"bundle_identifiers": [
"^com\\.jetbrains\\.",
"^com\\.google\\.android\\.studio$",
"^com\\.microsoft\\.VSCode$"
]
}
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment