code: def get_hotkey_name(names=None):
      
      if names is None:
          _listener.start_if_necessary()
          with _pressed_events_lock:
              names = [e.name for e in _pressed_events.values()]
      else:
          names = [normalize_name(name) for name in names]
      clean_names = set(e.replace('left ', '').replace('right ', '').replace('+', 'plus') for e in names)
      # https://developer.apple.com/macos/human-interface-guidelines/input-and-output/keyboard/
      # > List modifier keys in the correct order. If you use more than one modifier key in a
      # > hotkey, always list them in this order: Control, Option, Shift, Command.
      modifiers = ['ctrl', 'alt', 'shift', 'windows']
      sorting_key = lambda k: (modifiers.index(k) if k in modifiers else 5, str(k))
      return '+'.join(sorted(clean_names, key=sorting_key))
docs: Returns a string representation of hotkey from the given key names, or
      the currently pressed keys if not given.  This function:
  
      - normalizes names;
      - removes "left" and "right" prefixes;
      - replaces the "+" key name with "plus" to avoid ambiguity;
      - puts modifier keys first, in a standardized order;
      - sort remaining keys;
      - finally, joins everything with "+".
  
      Example:
  
          get_hotkey_name(['+', 'left ctrl', 'shift'])
          # "ctrl+shift+plus"