views:

18

answers:

1

I've just started on a GUI application which will feature several distinct modes and a large number of keyboard shortcuts. Ideally I'd like to support letting the user remap these, like in eclipse. What is - if any - the standard solution to this situation? I can imagine the main window captures all key-presses and translate them to key-neutral events for all the child controls as one way, but it feels clumsy. Are there any standard frameworks for doing this? If so, particularly python or open-sourced ones that I could use as an example are of interest.

+1  A: 

I might use something like the Command Pattern. Create a hashtable, where the key is the key pressed, and the value is a function (or object with a function) that's the action to be executed.

While there's probably a much faster way to do this in CPU-time, that seems the cleanest and most maintainable way, and it's fast enough for a single-user application that clean code should be pretty important.

Dean J