Re:Modeless Vim
by ta988 on Tuesday January 16, 2024 @10:55AM
(#39014759)
Where do you map it that way?
[ Parent
| on HN ]
Re:Modeless Vim
by sodapopcan on Tuesday January 16, 2024 @11:27AM
(#39015151)
As my sibling commenter said, use Karabiner Elements if you are on macos. Though it's not an out-of-the-box thing.
Add this config to ~/.config/karabiner/assets/complex_modifications/custom-capslock.json
{
"title": "Change caps_lock to Esc and Control",
"rules": [
{
"description": "Post Esc if Caps is tapped, Control if held.",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_control",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_control",
"lazy": true
}
],
"to_if_alone": [
{
"key_code": "escape"
}
]
}
]
}
]
}
and then in the GUI enable it in the Complex Modifications tab. Last you need to map "capslock" to "left_control" in the Simple Modifications tab.
Re:Modeless Vim
by linsomniac on Tuesday January 16, 2024 @12:56PM
(#39016372)
Ooh! Can I do this with "z" and "/" (letter if tapped, control if held)?
Re:Modeless Vim
by sodapopcan on Tuesday January 16, 2024 @01:09PM
(#39016514)
My GUESS is that it would be something like this:
{
"title": "Hold z or / for control",
"rules": [
{
"description": "Hold z for control",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "z",
"modifiers": {
"optional": [
"any"
]
}
},
"to_if_alone": [
{
"key_code": "left_control"
}
]
}
]
},
{
"description": "Hold / for control",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "/",
"modifiers": {
"optional": [
"any"
]
}
},
"to_if_alone": [
{
"key_code": "right_control"
}
]
}
]
}
]
}
Re:Modeless Vim
by sodapopcan on Tuesday January 16, 2024 @01:06PM
(#39016486)
Yep! You can do whatever you want with complex modifications. The only tricky part is figuring it out. It shouldn't be TOO different than the above if you replace the appropriate values.
Karabiner-Elements will do this for you on Mac.
I consider it indispensable.
I use this executable for Windows: https://github.com/ililim/dual-key-remap
Re:Modeless Vim
by svilen_dobrev on Tuesday January 16, 2024 @02:30PM
(#39017841)
as said here: https://superuser.com/questions/1716264/xmodmap-holding-a-ke...
using this https://github.com/alols/xcape :
$ setxkbmap -option caps:ctrl_modifier
$ xcape -e 'Caps_Lock=Escape'
if that need be run multiple times (i.e. in bashrc), add a guard: pgrep xcape >/dev/null || (
setxkbmap -option caps:ctrl_modifier
xcape -e 'Caps_Lock=Escape'
)