You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add-on hardware support (eg. audio, RGB, OLED screen, etc.)
Alteration (enhancement/optimization) of existing feature(s)
New behavior
Description
Idea
Users must manually implement custom keycode behavior through process_record_user(). It would be convenient if instead, they could define default behavior for those keycodes. The idea is that the QMK core would treat this keycode as a custom keycode right up until would be registered, then would convert it into the default keycode.
Use Case
This is mainly useful for key-overrides. If you have two instances of the same keycode defined on one layer, you cannot choose only one of those keycodes to override unless you replace one of them with a custom keycode (as far as I've seen). You must then either manually implement the default behavior and override behavior, or use key-overrides but still implement the default behavior. The latter option requires you to keep track of whether the trigger_mods are active, and it becomes messy.
// in config.h
...
# define CUSTOM_KEYCODE_DEFAULT
Anticipated Issues
For this to work, I believe register_code, register_code16, unregister_code, unregister_code16, add_key, and del_key would have to be modified. Furthermore, to make this work with key-overrides, the key override processing functions would need to no longer filter out custom keycodes and instead attempt to register them.
I'm happy to work on implementing this if you guys think it would be useful. I would just need to know if there are other points where keycodes are registered/where custom keycodes are filtered out.
Side Note
I'm still a noob at QMK, so if I misspoke about how any features work, my bad!
The text was updated successfully, but these errors were encountered:
Feature Request Type
Description
Idea
Users must manually implement custom keycode behavior through
process_record_user()
. It would be convenient if instead, they could define default behavior for those keycodes. The idea is that the QMK core would treat this keycode as a custom keycode right up until would be registered, then would convert it into the default keycode.Use Case
This is mainly useful for key-overrides. If you have two instances of the same keycode defined on one layer, you cannot choose only one of those keycodes to override unless you replace one of them with a custom keycode (as far as I've seen). You must then either manually implement the default behavior and override behavior, or use key-overrides but still implement the default behavior. The latter option requires you to keep track of whether the
trigger_mods
are active, and it becomes messy.Example
Anticipated Issues
For this to work, I believe
register_code
,register_code16
,unregister_code
,unregister_code16
,add_key
, anddel_key
would have to be modified. Furthermore, to make this work with key-overrides, the key override processing functions would need to no longer filter out custom keycodes and instead attempt to register them.I'm happy to work on implementing this if you guys think it would be useful. I would just need to know if there are other points where keycodes are registered/where custom keycodes are filtered out.
Side Note
I'm still a noob at QMK, so if I misspoke about how any features work, my bad!
The text was updated successfully, but these errors were encountered: