Comments (3)
@precondition this is the issue I've mentioned on the discord server. Thank you for looking into it :)
from qmk_firmware.
As far as I know, the code of the key overrides feature is not called when the modifier is released so I suspect that patching this issue will require turning on a bitset flag in quantum/process_keycode/process_key_override.c
and checking for the activation of that flag in the core key processing code (e.g. in pseudo-code if (key.is_mod() && !key.pressed && MOD_BIT(key) & neutralized_mods) { tap_code(DUMMY_MOD_CODE_NEUTRALIZER); } unregister_code(key);
)
Ideally, we would find a solution that only requires changes to the process_key_override.c
file but I don't know if that's possible.
Another option would be to avoid re-enabling the modifier in the first place, which has the benefit of being easy to implement within process_key_override.c
. However, this approach would break the following use case illustrated below:
Physical key | Physical key status | Keyboard report to the host |
---|---|---|
Left Alt | down | Left Alt |
9 | down | Left Alt+DUMMY_KC → Home |
9 | up | Left Alt |
K | down | Left Alt+K |
K | up | Left Alt |
Left Alt | up | <empty> |
In the hypothetical case where an Emacs user would want to move the cursor to start of the line with Alt+9 converted to Home firmware-side and then cut the entire sentence after the cursor with the Alt+K Emacs shortcut.
from qmk_firmware.
One option here is to emit the neutralizer in clear_active_override()
if we are reregistering an affected modifier which was suppressed.
from qmk_firmware.
Related Issues (20)
- Issues with Keychron Q3 Pro (ISO Knob Version) Firmware, Bluetooth Connectivity, and Configuration Software HOT 2
- [Feature Request] Add Killer Whale to Configurator HOT 1
- [Bug] * LED_MATRIX_DRIVER=CKLED2001 is not a valid matrix type HOT 2
- [Bug] Think 6.5 v2 hotswap firmware: KC_BSPC and KC_LSFT keys don't work
- [Bug] Key overrides are not performed on keys processed as a tap of a mod-tap HOT 1
- [Bug] Lily58 slave side intermittenly freezes / doesnt respond HOT 7
- [Feature Request] Allow forcing individual community layouts in `qmk.json` for `userspace-compile` and GitHub Actions HOT 4
- [Bug] make not working when compiling keymaps in userspace, whilst qmk compile does HOT 1
- How to set and press and lift it to different keys HOT 1
- [Bug] Retro tapping not triggered after release of dual function key during key roll over from previous keys HOT 1
- [Feature Request] [Documentation] Add Instruction to add dfu-programmer copr on Fedora
- [Bug] One-shot layer stuck on held with nested one-shot layer
- [Bug] Encoder retains base layer behavior on another layer
- [Feature Request] Make Combos ignore Mod-Tap
- Inverting the pin "click" state for pointing device. HOT 2
- The layer change keys except TO(x) cannot switch the front layer and can only switch the back layer. HOT 1
- [Feature Request] one shot mod like control over key lock
- [Bug] Nuphy Air75 V2 Random Key Press HOT 1
- [Bug] qmk setup command should not require a yes answer to cloning the qmk_firmware repo to install dependencies HOT 4
- HOW to solve this problem HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qmk_firmware.