With jumping packages like Ace and Avy, you can start a function, provide a query char, and then jump to somewhere based on further input. (Lately I've preferred Avy, but that's irrelevant here.)
I have had both bound to
C-' C-; (with other jumping functions bound to the home row) so that I can just hold control and fire off the sequence. It's very distracting though to have to lift my finger off control to input a 'plain' character for
read-char to read.
How can I strip all modifier keys off a
read-char-returned key code?