Contextual Keybindings
There is no global list of forbidden/allowed keys. The routing algorithm is strictly "The nearest claimant wins", relying on C#'s event bubbling.
- Typing is considered a claimant. Text fields are considered surfaces.
- If a command is bound to a bare letter (e.g.,
S) on the Bookshelf (which has no typing), it executes. In the Writing Space, typing claimsS, so it types. - Modals are surfaces where the event chain explicitly stops.