Reading input and modifiers

I have a couple of questions about reading input with modifiers:

Is there any way to know what modifiers where used (alt,shift,ctrl) when a key or mouse button is used?

I have read the manual but didn’t find a list of those special key and mouse buttons names like esc,f1-f12, pageup, ins, etc. Is there a full list with the correct event names we can consult?

How do we detect if the caps lock key is on or off?

How do we read the mouse wheel and the third mouse (middle mouse) button?

How do we detect mouse movement/dragging and the mouse position on screen with any modifier being used?

Thanks in advance.

Heres an example of what key bindings im trying to use:

The short answer to almost all of these is: take advantage of messenger.toggleVerbose() to see what events are generated when you press any key.

That is, type “messenger.toggleVerbose()” in the Python window, then click on the Panda render window and start pressing keys. It will tell you the names of the events that are generated in response to each keypress or mouse button.

For tracking mouse movement, use base.mouseWatcherNode. To track this in conjunction with modifier keys, you can listen for the modifier keys and keep track of which ones are currently held down; or just consult base.mouseWatcherNode.getModifierButtons().


I updated that particluar manual page some time ago. Check it again.