I am close to publishing a package called user-keys. The goal was to assist in diagnosing and planning out bindings schemes. So far it has three main functions:
- Show all shadows for a sequence
- Show all sequences from a preferred list of sets
- Show all sequences matching predicates
One possible next goal is to show emulation map updates and listing active maps with symbols rather than raw keymap data structures.
I am planning to extend the predicate matching to work on
mass-unbinding. Right now it's useful for diagnosing all "stupid"
bindings, which I preconfigured to predicates such as, "modified shift keys" or "multiple modifiers".
Part of the goal was to develop a transient interface to articulate these views of the keymaps. I'm not sure how that's progressing since there's not quite enough functionality to leverage state and input re-use that characterizes a good context specific interface.
I felt like it's a good time to show what's built and see if anyone has ideas based on experience about difficulty getting a good high-level view of active maps and what information they miss as a developer or user.
Thanks