using message loop for hotkey capturing

Alex Hall mehgcap at
Tue Mar 23 19:04:15 CET 2010

On 3/23/10, MRAB <python at> wrote:
> Alex Hall wrote:
>> Hi all, but mainly Tim Golden:
>> Tim, I am using your wonderful message loop for keyboard input, the
>> one on your site that you pointed me to a few months ago. It has been
>> working perfectly as long as I had only one dictionary of keys mapping
>> to one dictionary of functions, but now I want two of each. My program
>> has different modes, which may have varying keystrokes, and I also
>> have some global keystrokes which are the same across all modes, like
>> exiting or switching modes. I cannot figure out how to make the
>> message loop look in two dictionaries at onc. I tried using an if,
>> saying that if action_to_take was not set in the mode-specific
>> dictionary then look at the global dictionary, but it is like it is
>> never looking in the global dictionary at all. I get no syntax errors
>> or problems when running the program, so it has to be something in my
>> logic. Go to
>> to see what I mean; the problem code is near the very bottom of the
>> file. Thanks for any suggestions. Oh, please note that I indent one
>> space per indentation level.
> "msg.wParam" gives an int, but the keys of globalFuncs are 'g1', etc,
> not ints.
That did it. I originally used 1-4 like I did for the mode
dictionaries, not realizing that the ints were so important; I figured
they were just keys in the dictionary and that they could be anything,
it was just easier to use ints. Now, I have changed my globals to
20-23 and everything seems to be going well. Thanks!!
> Incidentally, you might want to change:
>      if(not action_to_take):
> to:
>      if action_to_take is None:
> in case any of the values happen to be 0 (if not now, then possibly at
> some time in the future).
Sorry, could you explain why you suggested this? I do not follow.
Because of the if statement "if action_to_take:", I figured it was
saying "if action_to_take was successfully set" or something else
having a boolean value. Guess not?
> --

Have a great day,
Alex (msg sent from GMail website)
mehgcap at;

More information about the Python-list mailing list