def down(self, key, override=None): ''' Holds down the given key ''' if key != key.lower() and len(key) == 1: use_shift = True self.down('left shift') else: use_shift = False key_code = self._get_scancode(key) if override: key_code = override if key in self._extended_scancodes: is_extended = KEYEVENTF_EXTENDEDKEY else: is_extended = 0 input_arr = Input * 1 extra = c_ulong(0) ii_ = InputUnion() ii_.keyb_inp = KeyBdInput(0, key_code, is_extended + KEYEVENTF_SCANCODE, 0, pointer(extra)) inputs = input_arr((1, ii_)) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0])) if use_shift: self.up('left shift')
def down(self, key, override=None): ''' Holds down the given key ''' if key != key.lower() and len(key) == 1: use_shift = True self.down('left shift') else: use_shift = False key_code = self._get_scancode(key) if override: key_code = override if key in self._extended_scancodes: is_extended = KEYEVENTF_EXTENDEDKEY else: is_extended = 0 input_arr = Input * 1 extra = c_ulong(0) ii_ = InputUnion() ii_.keyb_inp = KeyBdInput(0, key_code, is_extended + KEYEVENTF_SCANCODE, 0, pointer(extra)) inputs = input_arr( ( 1, ii_ ) ) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0])) if use_shift: self.up('left shift')
def up(self, key, override=None): ''' Releases the given key ''' key_code = self._get_scancode(key) if override: key_code = override if key in self._extended_scancodes: is_extended = KEYEVENTF_EXTENDEDKEY else: is_extended = 0 input_arr = Input * 1 extra = c_ulong(0) ii_ = InputUnion() ii_.keyb_inp = KeyBdInput(0, key_code, is_extended + KEYEVENTF_KEYUP + KEYEVENTF_SCANCODE, 0, pointer(extra)) inputs = input_arr(( 1, ii_ )) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0]))
def down(self): ''' Simulates pressing the mouse button ''' input_arr = Input * 2 extra = c_ulong(0) ii2_ = InputUnion() ii2_.mouse_inp = MouseInput(0, 0, 0, self._mouse_down_value, 0, pointer(extra)) inputs = input_arr(( 0, ii2_ )) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0]))
def up(self): ''' Simulates releasing the mouse button ''' input_arr = Input * 2 extra = c_ulong(0) ii2_ = InputUnion() ii2_.mouse_inp = MouseInput(0, # pylint: disable=W0201 0, 0, self._mouse_up_value, 0, pointer(extra)) inputs = input_arr(( 0, ii2_ )) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0]))
def up(self, key, override=None): ''' Releases the given key ''' key_code = self._get_scancode(key) if override: key_code = override if key in self._extended_scancodes: is_extended = KEYEVENTF_EXTENDEDKEY else: is_extended = 0 input_arr = Input * 1 extra = c_ulong(0) ii_ = InputUnion() ii_.keyb_inp = KeyBdInput( 0, key_code, is_extended + KEYEVENTF_KEYUP + KEYEVENTF_SCANCODE, 0, pointer(extra)) inputs = input_arr((1, ii_)) windll.user32.SendInput(1, pointer(inputs), sizeof(inputs[0]))