Determine Whether an Event May Be "Raw"

Simply put, is there a way to determine whether a given event has a “raw” version?

For example, the “w” (keyboard-) event has a corresponding “raw-w” event. However, the “shift” event has no such corresponding “raw-shift” event. (At least as far as I’ve found.)

Is there an easy way to differentiate, given an event-name, whether there is a “raw” version of the event…? (Even if it’s just something along the lines of “myDirectObject.hasEvent('raw-' + baseEventName)”.)

There is no raw-shift, but there is raw-lshift and raw-rshift.

You can use base.win.get_keyboard_map() to get an object that contains a list of the raw events and their corresponding non-raw event.

Aaah, of course–I hadn’t thought that the “raw” events would be specific to which “shift” key was pressed–but of course they are!

And given this, it seems that I likely don’t need to detect raw events: I realise now that my error was in the event-name that I used to initialise my key-handling (i.e. giving it “shift” rather than “lshift”).

Still, thank you for the means to so detect, and more so for pointing out my error! :slight_smile: