Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There's now a tree of 'on-mouse-' functions, the user can hook into them at any point. 'on-mouse-button' propagates to 'on-mouse-left' which propagates to 'on-mouse-left-up' and 'on-mouse-left-down'. Same for 'on-mouse-middle' and 'on-mouse-right'.
Keeps 'on-click', since that's a simple and common case.
Also changes the 'state' parameter of 'on-key' so that it can have values ':up' or ':down', to be consistent with the mouse interface.
Testing
Basically added print statements to all the methods and made sure they were called. (Except the middle-mouse ones, since I'm testing with a trackpad, ha).
The output: