Skip to content
Advertisement

Rules for determining the order of keyboard events? (Python)

I currently have a situation like this:

JavaScript

Through trial I’ve found that the on_press_key() events always happen first (and the logic of my program is dependent on it) but I have no idea why, or if it’s a hardware- or OS- specific thing that could be inconsistent and break if used on other systems (?).

I’ve tried searching but couldn’t find anything on this. Is there a reliable way to know the order in which the events are triggered, or force them to be triggered in a particular order?

Advertisement

Answer

Looking at the source code, the flow of control is as follows:

When a key event is raised, process is called, which calls pre_process_event (itself calling all callbacks in the nonblocking_keys dict) BEFORE calling the handlers.

JavaScript

However this is just an implementation detail which might evolve with new versions, you’d better not rely on it. Could you for ex call Function1 in Function2 and Function3 ?

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement