code: def hold(*keys, hold_time = 0, hold_while = None):
      
  
      for key in keys:
          win32api.keybd_event(codes[key], 0, 0, 0)
      if callable(hold_while):
          while hold_while():
              pass
      else:
          time.sleep(hold_time)
      release(*keys)
docs: Simulates the holding of all the keys passed to the function
      These keys are held down for a default period of 0 seconds before release
  
      :param keys: list of keys to be held
      :param hold_time: length of time to hold keys
      :param hold_while: hold keys while hold_while returns True
      :return: None