qmk_configurator
qmk_configurator copied to clipboard
Feature: Check user keymaps for possibilty of getting "locked in" on a layer
Was talking with @yanfali earlier today about this.
Right now, adding a layer-changing key pre-fills the same key with KC_TRNS on the target layer, but there's no system in place that prevents the user from overwriting the key with something else, thus allowing them into a layer, but with no way back out of the layer. The Configurator should warn the user or outright prevent them from setting a key in such a way.
I was thinking something along the lines of the following:
- User sets a layer change key, same key in target layer is pre-filled as KC_TRNS (current behaviour)
- User tries to overwrite the key with another action
- Configurator should warn about or prevent the overwrite, with a visible alert that says something similar to:
This action would cause you to become stuck in this layer, with the only way out being unplugging and replugging your keyboard.
Please set a key that exits this layer, then change this key.
Logically, I was thinking the Configurator should map the entrances and exits to different layers somehow, making sure the user always has a way to get back to the base layer. I'm not sure how to explain this in detail, but hopefully what I'm saying is understood.