Don't know about i3, but you can achieve this in Linux/X11 using for example xcape: https://github.com/alols/xcape. Source: over 1 year ago
I guess that xcape is what you're looking for. Source: almost 2 years ago
You can use xcape (I assume xorg only; https://github.com/alols/xcape) to set any key including super/meta to trigger a custom keyboard shortcut on release. Source: about 2 years ago
Caps Lock is both Control and Escape depending on whether you hold or tap it. I use xcape. Source: over 2 years ago
My CapsLock is an Esc right now. I use to use xcape program which would allow my caps lock to act as Esc when pressed alone, but in combination with another key it would act as Ctrl, which was very useful. That program no longer works on Wayland compositors but I have lost the habit of using the key as Ctrl anyway. Source: over 2 years ago
All you need is dual mode modifiers - remap your spacebar to act as Ctrl when pressed and generate space symbol when released. You can make it with xcape on linux and with dual-key-remap on windows. It is also something for macos, but I never used it. Source: over 2 years ago
I have the same setup on linux. Using xcape and xmodmap together. Source: over 2 years ago
I used xcape to bind super to alt + F12 and then in sxhkd, bound alt + F12 to a script:. Source: almost 3 years ago
I am long term fan of Space-Ctrl dual role key - must have for any emacser imo. Now I'm using https://github.com/ililim/dual-key-remap on windows and https://github.com/alols/xcape on Linux. Are your app has any advantages against these two? Source: almost 3 years ago
Hi, I have used xcape in the past to bind a function to a single modifier. Sadly it only sends an event when the key is released and not on press+release. Source: about 3 years ago
# Initialize array that holds the xcape mapping expressions Xcape_exprs=() # Irrelevant other xcape mappings like tap ctrl/caps for esc ... # Map a spacebar hold to act as the i3 modifier (Mod3) # # 1. Set space's former keycode to map to $spare_mod # 2. Remove $spare_mod from default mapping (note: mod4 is specific to Hyper_L) # 3. Set mod3 (which is unused by default) to map to $spare_mod # 4. Map space to an... Source: about 3 years ago
I figure out that I can trace to the source by digging into the Makefile, but it's just a bit inconvenient. E.g. There is no source URL for ports:x11/xcape, I guess it's the https://github.com/alols/xcape? Tracing the source code of ports:meta/tor-browser requires me to jump to ports:www/tor-browser/browser...Ha! Source: about 3 years ago
For me the difference is that Esc is on keydown and Caps Lock is on keyup because I use xcape to map Caps Lock as Escape when tapped (pressed and released in less than 0.5 seconds) and setxkbmap to map Caps Lock as Control when pressed and held or use in a key combination. Source: about 3 years ago
I just use setxkbmap -option ctrl:nocaps to set caps lock as a second ctrl key, and xcape to set both ctrl and caps lock to also act as escape when pressed and released (xcape -e 'Control_L=Escape). Source: over 3 years ago
Just to add to this, if you wanted to be able to use the tab key as a tab key when you push it, but as a modifier when you hold it, you could use xcape. Source: over 3 years ago
This should be possible using xcape and xmodmap. It's easier to do this with keys that are already modifiers (control, shift, capslock), but the xcape readme also has some instructions to make it work for other keys. Source: over 3 years ago
Try something like this (or maybe similar and newer): https://github.com/alols/xcape. Source: over 3 years ago
Do you know an article comparing xcape to other products?
Suggest a link to a post with product alternatives.
This is an informative page about xcape. You can review and discuss the product here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.