Is there a way to have every keystroke be passed to a handler/func/filter first, and if such a handler can't handle it, then keys are passed to a default handler?

An example to help with this question: say I want to record every key, without affecting the default Sublime functionality. One approach would be to have a func that is called first, it saves key strokes to a file and then calls the default entry point for Sublime. // I'm not trying to do this, just using this example to clarify my question.

In other words, you want to be able to choose to run the next command in the command list for a specific keystroke?I.e. if I bind my action to "ctrl+d", I could choose from inside my command to call the "next in line" command for ctrl+d. This would allow you to do what you're asking for.

If so, then I've wanted this functionality a few times, and I think it would make a great addition to the api.