25Jan
Velocifire TKL71WS

OSX: Fix tilde/accent key on Velocifire TKL71WS Keyboard

I recently got the Velocifire TKL71WS Wireless Keyboard for my daily use. I like it a lot thus far – although battery life could be a little bit better, still under testing with different illumination profiles -, but it overall does the job for me.

The only caveat that I had with it is that it is missing a dedicate tilde/accent key (~/`). To use them, you have to hold the Function key (2nd key to the right side of space bar) and press Escape. That is quite a finger-twister and I found myself struggling with it a lot. Also, that is the method to write the Arabic character “ذ” which is also inconvenient.

Karabiner-Elements:

As tagged on their website, it’s a powerful keyboard customizer for macOS. I’m still exploring it for what seems to unlock a huge potential of my quirks and customizations, and it does the job of fixing my Escape key issue just perfectly.

Although the application UI allows you to do a lot of simple customization, ~/.config/karabiner/karabiner.json file allows you to do much more. For my use-case, I added a custom complex modification rule that changes the Escape key to press as a normal tilde ~ / ` accent key when pressed once, but run as an Escape key if held down for a tiny bit, as follows:

"rules": [
    {
        "description": "Change Escape to Tilde (Post Escape if Held Down)",
        "manipulators": [
            {
                "from": {
                    "key_code": "escape",
                    "modifiers": {
                        "optional": [
                            "any"
                        ]
                    }
                },
                "parameters": {
                    "basic.to_if_alone_timeout_milliseconds": 250,
                    "basic.to_if_held_down_threshold_milliseconds": 250
                },
                "to_if_alone": [
                    {
                        "key_code": "grave_accent_and_tilde"
                    }
                ],
                "to_if_held_down": [
                    {
                        "key_code": "escape"
                    }
                ],
                "type": "basic"
            }
        ]
    }
]

My current karabiner.json file is here.

I’m exploring what other people are doing with these complex rules, so share any if you do have some!

Share this Story

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Written with love ♥