Return a represention of the next key or mouse event. The return value is (string modmask keycode) for key events or (string modmask button-number #t). The cdr of the return value can be used as the arguments to undo-passive-grab and redo-passive-grab. The string is usable as a key binding string. Modifiers are listed first, separated by "-" followed by a "-" and the keysym name. E.g., "S-C-M-z" is Shift+Control+Meta + 'z' key. If the event is only modifier keys, then the string will end in a "-"; e.g., "S-C-M-". See also get-mouse-event and get-key-event.