Finished the last two things on my list:
Specs for the mouse event triggers.
Add Joystick.activate_all and Joystick.deactivate_all.
But I thought up more stuff to add to the list:
Add _magic_trigger and _magic_action methods to Has EventHandler. These would be private methods that you can override to define your own custom “magic” conversion rules when using magic_hook. They would take precedence over the built-in rules, if there was a match.
Organize the trigger and action classes to be inside EventTriggers and EventActions modules, for obsessive cleanliness and so I can have a good place for documentation about making your own triggers and actions.
Change MethodAction to remove its pass_event argument. Just always try to pass the event, and if that fails try again without it. No need for pass_event (besides, I can add it back later if needed, but I can’t take it away after release or it would break compatiblity).
Also, I’ve set a deadline / release date for version 2.4: October 24, because the timing is right, and it has a 2 and 4 in it!