def _add_hotkey_step(handler, combinations, suppress):
container = _listener.blocking_hotkeys if suppress else _listener.nonblocking_hotkeys<EOL>for scan_codes in combinations:<EOL><INDENT>for scan_code in scan_codes:<EOL><INDENT>if is_modifier(scan_code):<EOL><INDENT>_listener.filtered_modifiers[scan_code] += <NUM_LIT:1><EOL><DEDENT><DEDENT>container[scan_codes].append(handler)<EOL><DEDENT>def remove():<EOL><INDENT>for scan_codes in combinations:<EOL><INDENT>for scan_code in scan_codes:<EOL><INDENT>if is_modifier(scan_code):<EOL><INDENT>_listener.filtered_modifiers[scan_code] -= <NUM_LIT:1><EOL><DEDENT><DEDENT>container[scan_codes].remove(handler)<EOL><DEDENT><DEDENT>return remove<EOL>
Hooks a single-step hotkey (e.g. 'shift+a').