Skip to content

Instantly share code, notes, and snippets.

@rcmdnk
Last active September 1, 2017 04:21
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 rcmdnk/198fcdc45e4d708dba18d019bf405fd4 to your computer and use it in GitHub Desktop.
Save rcmdnk/198fcdc45e4d708dba18d019bf405fd4 to your computer and use it in GitHub Desktop.
Sticky shift by semicolon example for Karabiner-Elements
{
"title": "sticky",
"rules": [
{
"description": "sticky shift - shift modifier",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "semicolon"
},
"to": [
{
"set_variable": {
"name": "sticky_a",
"value": 1
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 0
}
]
},
{
"type": "basic",
"from": {
"key_code": "a"
},
"to": [
{
"key_code": "a",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "b"
},
"to": [
{
"key_code": "b",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "c"
},
"to": [
{
"key_code": "c",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "d"
},
"to": [
{
"key_code": "d",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "e"
},
"to": [
{
"key_code": "e",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "f"
},
"to": [
{
"key_code": "f",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "g"
},
"to": [
{
"key_code": "g",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "h"
},
"to": [
{
"key_code": "h",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "i"
},
"to": [
{
"key_code": "i",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "j"
},
"to": [
{
"key_code": "j",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "k"
},
"to": [
{
"key_code": "k",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "l"
},
"to": [
{
"key_code": "l",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "m"
},
"to": [
{
"key_code": "m",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "n"
},
"to": [
{
"key_code": "n",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "o"
},
"to": [
{
"key_code": "o",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "p"
},
"to": [
{
"key_code": "p",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "q"
},
"to": [
{
"key_code": "q",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "r"
},
"to": [
{
"key_code": "r",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "s"
},
"to": [
{
"key_code": "s",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "t"
},
"to": [
{
"key_code": "t",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "u"
},
"to": [
{
"key_code": "u",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "v"
},
"to": [
{
"key_code": "v",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "w"
},
"to": [
{
"key_code": "w",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "x"
},
"to": [
{
"key_code": "x",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "y"
},
"to": [
{
"key_code": "y",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "z"
},
"to": [
{
"key_code": "z",
"modifiers": [
"shift"
]
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"any": "key_code",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "vk_none"
},
{
"set_variable": {
"name": "sticky_a",
"value": 0
}
}
],
"conditions": [
{
"type": "variable_if",
"name": "sticky_a",
"value": 1
}
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment