The wizard in wxpython automatically responds to keyboard accelerators for the buttons on the page (for example "Alt-N" to activate the next button). I want this but ...
It only does this if there is at least one interactive widget on the visible wizard page. If the page only has static text then accelerator keystrokes don't do anything.
The wizard also responds to keys that shouldn't do anything at all, eg "C" or "c" activates the cancel button whenever the focus is on an image button (note that it doesn't do that if the focus is on a text entry widget - in that case the corresponding character is entered into the text box).
How can I change the behaviour of the wxpython wizard so that:

"Alt-N" and "Alt-C" should activate the next and cancel buttons even on pages that only have static text controls
"N" and "C" should NOT activate the next and cancel buttons regardless of which widget has the current focus.
The problem with Alt-N not having any effect seems to be a wxWidgets bug, so I don't think you can work around it in wxPython. Perhaps you could try to catch EVT_CHAR for them in the wizard itself and see if you get the event there.
As for disabling some keys when some specific control has focus, you definitely should be able to catch EVT_KEY_DOWN in this control. Although I don't really understand why would you want to do this.
How to make wx wizard respond to keyboard accelerators like a normal Microsoft Windows application