Key-down events when modifiers are pressed

I’ve just discovered that if a modifier key is held and a non-modifier key is pressed, no key-down event for the non-modifier key is sent, only the modified version. For example:

  • If I press “w” without a modifier held, the “w” event is sent.
  • If I press “control”, the “control” events are sent (one just indicating a “control” key, and the other indicating the specific “control” key).
  • If I press and hold “control”, the two “control” events are sent; if I then press “w”, the “control-w” event is sent.

That the modified event is sent is expected, but not getting the base key event is potentially problematic: in my particular case, it means that if I use “control” for “crouch” (or a user binds “crouch” to “control”), and “wasd” for movement, I can’t move while crouching.

Is there a way to alter this event behaviour? I don’t mind whether the modified event is sent, as long as the non-modified version is.

This is covered in the manual:
panda3d.org/manual/index.ph … rd_Support
It has a snippet showing how to disable the modifier buttons.

Ah, I feel silly for not having discovered that! Thank you! :slight_smile: