When ?i shows key bindings, at the end of each group (movement, prefixes, general, game, debug) report any commands for that group which don't have any key assigned. Movement and prefixes all have keys; they'd be pretty useless without and key bindings won't override movement commands. For general, the "keyless" are |#exploremode |#herecmdmenu |#therecmdmenu after this adds the relevant flag to their command definitions; for game, "#terrain" is the only one; the debug section has 20. There is a known problem that I've going to pretend that I didn't notice: if I use BIND=D:takeoffall then 'A' becomes unassigned, 'D' invokes #takeoffall, "#droptype" becomes keyless, and ?i reports those correctly. But if I use BIND=M:takeoffall, 'A' becomes unassigned, 'M' continues to be its usual prefix, and the "#takeoffall" command is nowhere to be seen. The code that tracks assignments is letting that case fall through the cracks. 'M' ends up assigned to both and the ?i code deliberately only shows the first.
47 KiB
47 KiB