I was using event.unicode for this task previously. If I hit shift+9, then the event for the key down has a unicode attribute of '('. And if I hit shift+alt+9, then the event for the key down has a unicode attribute of '(', and the keyboard also sends a keydown for an alt key, so that I know one was pressed.
If, however, I press ctrl+shift+9, then event.unicode == u''. How do I get u'(' back from that?
(similarly, for ctrl+shift+a, I get '\x01')
There is probably an easier way to do this, but you could get the state of all the keys on the keyboard using pygame.key.get_pressed() and then check to see if the two keys pressed are the Ctrl, Shift, and 9 keys. then you could manually return the string Ctrl+( instead of getting that from a function. Not sure if there is a really elegant way to do this though.
How do I turn the key combination, ctrl+shift+9, into the string "ctrl+(" in PyGame?