Love this program and thankful for any help
Like the title states, I have my left hand on my SHIFT KEY, OPTION KEY and COMMAND key all the time. but I hate when I have to use my arrow keys to move shapes. I would like the ability to change WASD as arrow keys to nudge shapes around. This also allows for the pinky to hit the left SHIFT KEY so that I could move shape 10px at a time. However, I want to be able to toggle to the arrow function by pressing Caps lock and holding it until I release. Doing this will enable me to make more use of hotkeys while building/UI.
To summarize:
Thank you so much for whatever help you guys can throw my way. Hope this has already been addressed and is easy fix
This is a modification of the script "TouchCursor Mode" from the Karabiner site, which toggles a variable when pressing capslock, then uses WASD as keys or arrows depending on that variable. Similar technique to the one used by @user9680958. Show activity on this post. 1. Setup Karabiner: Have fun. Show activity on this post.
Note that this script replaces the functionality of caps lock, meaning: it works as an arrow key toggler, not as an uppercase key toggler. This is a modification of the script "TouchCursor Mode" from the Karabiner site, which toggles a variable when pressing capslock, then uses WASD as keys or arrows depending on that variable.
Check out the steps below to use modify Mac function keys using Karabiner Elements: Select the Function Keys tab in the Karabiner-Elements Preferences window. Tap on the dropdown button beside Target device to select the target device on which you want these changes to function.
But it is still not that compelling comparing with the karabiner before El Cap which provides tons of customizations inside the app. Thus I want to share a tool that I’m using for sometime, there is one tool that I’m using that can extend lots of functionalities based on the hyper keys using KM.
This works for me:
{
"description": "WASD arrow Keys toggled by Capslock",
"manipulators": [
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_unless",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 1
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 0
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "a",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "s",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "down_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "w",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "up_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "d",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_arrow"
}
],
"type": "basic"
}
]
}
You can either place the code inside the brackets of the "rules": []
element of the file ~/.config/karabiner/karabiner.json
, or create a new JSON file in ~/.config/karabiner/assets/complex_modifications
, wrapping the code above in:
{
"title": "WASD arrow Keys toggled by Capslock",
"rules": [
(insert code here)
]
}
If you opt for the separate JSON file, once saved you can enable it through the Karabiner-Elements UI via Complex Modifications > Add rule.
I‘m using Karabiner beta 12.1.56 but it should work on Karabiner stable.
Note that this script replaces the functionality of caps lock, meaning: it works as an arrow key toggler, not as an uppercase key toggler.
This is a modification of the script "TouchCursor Mode" from the Karabiner site, which toggles a variable when pressing capslock, then uses WASD as keys or arrows depending on that variable. Similar technique to the one used by @user9680958.
Both solutions for caps lock mode and caps hold mode:
1. Setup Karabiner:
Set up the Script:
Create a JSON file on your desktop:
Go back to the terminal
Now open Karabiner Elements and go to "Complex modifications"
Code 1 for Caps lock "to enter arrow key mode" and press again "to exit arrow key mode":
{
"title": "ijkl arrow Keys toggled by Capslock",
"rules": [
{
"description": "ijkl arrow Keys toggled by Capslock",
"manipulators": [
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_unless",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 1
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 0
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "j",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "k",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "down_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "i",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "up_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_arrow"
}
],
"type": "basic"
}
]
}
]
}
Code 2 If you want to hold Caps while using the arrow Keys use this one instead:
{
"title": "ijkl arrow Keys toggled by Capslock",
"rules": [
{
"description": "ijkl arrow Keys toggled by Capslock",
"manipulators": [
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_unless",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 1
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "wasd_arrow_keys_mode",
"value": 0
}
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "j",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "k",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "down_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "i",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "up_arrow"
}
],
"type": "basic"
},
{
"conditions": [
{
"name": "wasd_arrow_keys_mode",
"type": "variable_if",
"value": 1
}
],
"from": {
"key_code": "l",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_arrow"
}
],
"type": "basic"
}
]
}
]
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With