コード例 #1
0
ファイル: main.py プロジェクト: yedhrab/InputRecorder
    def _play(self, speed_factor=7.0, include_clicks=True, include_moves=True, include_wheel=True):
        # For hotkey management
        state = keyboard.stash_state()

        last_time = None
        for event in self.events:
            if speed_factor > 0 and last_time is not None:
                time.sleep((event.time - last_time) / speed_factor)
            last_time = event.time

            if isinstance(event, KeyboardEvent):
                key = event.scan_code or event.name
                keyboard.press(key) if event.event_type == KEY_DOWN else keyboard.release(key)

            if isinstance(event, ButtonEvent) and include_clicks:
                if event.event_type == UP:
                    mouse.release(event.button)
                else:
                    mouse.press(event.button)
            elif isinstance(event, MoveEvent) and include_moves:
                mouse.move(event.x, event.y)
            elif isinstance(event, WheelEvent) and include_wheel:
                mouse.wheel(event.delta)

        # For hotkey management
        keyboard.restore_modifiers(state)
コード例 #2
0
def fishing_farm():
    print('Program started')
    print('Hold + to start farming')
    print('Hold - to stop farming')
    print('Hold * to exit the program')

    while True:
        sleep(0.5)
        if kb_is_pressed('*'):
            print('Exiting Program')
            exit(0)

        if kb_is_pressed('+'):
            print('Starting Farm')
            start = datetime.datetime.now()
            while True:
                sleep(0.5)
                if not is_pressed('right'):
                    press(button='right')

                if kb_is_pressed('-'):
                    print('Farm stopped')
                    release(button='right')
                    break

                if kb_is_pressed('*'):
                    print('Exiting Program')
                    release(button='right')
                    exit(0)

                if datetime.datetime.now() - start > datetime.timedelta(
                        minutes=3):
                    send_afk_message()
                    start = datetime.datetime.now()
コード例 #3
0
ファイル: Server.py プロジェクト: Wha-The/remote-desktop
def recievingKeyboardThreadFunc(conn):
    data = loads(recv_msg(conn).decode())
    while data:
        print data
        for evt in data["events"]["keyboard"]:
            print evt
            try:
                scan_code = keyboard.key_to_scan_codes(chr(evt["code"]))[0]
            except ValueError:
                try:
                    scan_code = keycodes[evt["code"]]
                except IndexError:
                    continue
            if evt["type"] == "DOWN":
                keyboard.press(scan_code)
            else:
                keyboard.release(scan_code)
        for evt in data["events"]["mouse"]:
            print "MOUSEEVENT:", evt
            if evt == "Move":
                newPos = evt["pos"]
                mouse.move(newPos[0], newPos[1], duration=0.15)
            elif evt == "LeftDown":
                mouse.press()
            elif evt == "LeftUp":
                mouse.release()
        try:
            recieved = recv_msg(conn).decode()
        except socket.error:
            break
        data = loads(recieved)
コード例 #4
0
 def SubProcedure_MouseDragFrom(self,data):
     mouse.move(self.Points[int(data[0])][0],self.Points[int(data[0])][1])
     if len(data)>1:
         time.sleep(float(data[1])/1000)
     mouse.press(button='left')
     if len(data)>2:
         time.sleep(float(data[2])/1000)
     return 1
コード例 #5
0
def pressleft():
    if (mouse.is_pressed(button='left')):
        # release
        mouse.release(button='left')

    else:
        # press
        mouse.press(button='left')
コード例 #6
0
def pressright():
    if (mouse.is_pressed(button='right')):
        # release
        mouse.release(button='right')

    else:
        # press
        mouse.press(button='right')
コード例 #7
0
ファイル: InputEmulation.py プロジェクト: cianyyz/lackey
    def buttonDown(self, button=mouse.LEFT):
        """ Holds down the specified mouse button.

        Use Mouse.LEFT, Mouse.MIDDLE, Mouse.RIGHT
        """
        self._lock.acquire()
        mouse.press(button)
        self._lock.release()
コード例 #8
0
ファイル: MouseGesture.py プロジェクト: 44maru/MouseGesture
def continue_left_click():
    while True:
        if mouse.is_pressed('left'):
            pos = mouse.get_position()
            print("\r{:40}".format("Left click {}".format(pos)))
            mouse.press('left')
            mouse.release('left')
            mouse.press('left')
        time.sleep(float(CONFIG_DICT[CONFIG_KEY_INTERVAL_LEFT_CLICK]))
コード例 #9
0
 def click(self, x=None, y=None):
     if x is None or y is None:
         x, y = mouse.get_position()
     x = int(x)
     y = int(y)
     mouse.move(x, y)
     mouse.press(button='left')
     time.sleep(self.click_delay)
     mouse.release(button='left')
コード例 #10
0
 def __hold(self, peripheral, key, seconds):
     if peripheral == self.__KEYBOARD:
         keyboard.press(key)
         sleep(seconds)
         keyboard.release(key)
         
     elif peripheral == self.__MOUSE:
         mouse.press(key)
         sleep(seconds)
         mouse.release(key)
コード例 #11
0
ファイル: simple_test.py プロジェクト: RafayelGardishyan/CLGE
 def simulate_mouse_press(self, button):
     """
     Simulate mouse key press with "keyboard" module
     :param char: Character for simulation
     :return: None
     """
     enablePrint()
     self.key = button
     print("Pressed Mouse Button: {}".format(self.key))
     blockPrint()
     mouse.press(self.key)
コード例 #12
0
def main():
    pygame.init()
    worker = Worker()

    print('Controllers:')
    joysticks = []
    for i in range(pygame.joystick.get_count()):
        j = pygame.joystick.Joystick(i)
        print(' ', j.get_name())
        j.init()
        joysticks.append(j)

    print('main loop...')
    try:
        worker.start()
        while True:
            for event in pygame.event.get():
                if event.type == pygame.JOYBUTTONDOWN:
                    print(event.button)
                    if event.button in (0, 7, 8, 9, 10):
                        print('press')
                        mouse.press()
                    elif event.button == 11:
                        keyboard.press_and_release('up')
                    elif event.button == 12:
                        keyboard.press_and_release('down')
                    elif event.button == 13:
                        keyboard.press_and_release('left')
                    elif event.button == 14:
                        keyboard.press_and_release('right')
                elif event.type == pygame.JOYBUTTONUP:
                    if event.button in (0, 7, 8, 9, 10):
                        print('release')
                        mouse.release()
                elif event.type == pygame.JOYAXISMOTION:
                    axis, value = event.axis, event.value
                    # print('    ' * (axis + 1), value)
                    value = value**3 * abs(value)**1
                    value *= SCALE
                    if axis in (0, 2):
                        if abs(value) < DEADZONE:
                            worker.dx = 0
                        else:
                            worker.dx = value
                    if axis in (1, 3):
                        if abs(value) < DEADZONE:
                            worker.dy = 0
                        else:
                            worker.dy = value
                print(worker.dx, '\t', worker.dy)
    finally:
        worker.go_on = False
        worker.join()
        print('bye')
コード例 #13
0
def runCar():

	#Multiple key actions
	# if __ and ___




	#Single actions
	if drivingForward == True:
		keyboard.press('w')
	else:
		keyboard.release('w')


	if drivingBackward == True:
		keyboard.press('s')
	else:
		keyboard.release('s')

		
	if turningLeft == True:
		keyboard.press('l')
	else:
		keyboard.release('l')


	if turningRight == True:
		keyboard.press('r')
	else:
		keyboard.release('r')


	if jumping == True:
		mouse.press('right')
	else:
		mouse.release('right')


	if boosting == True:
		mouse.press('left')
	else:
		mouse.release('left')


	if sliding == True:
		keyboard.press('shift')
	else:
		keyboard.release('shift')
コード例 #14
0
    def update_mouse(value, button, prev_value, prev_button):
        x, y = mouse.get_position()
        x -= monitor.x

        # Move the mouse
        if value != prev_value:
            mouse.move((x + int(
                (value - prev_value) * conversion * args.sensitivity)) %
                       monitor.width + monitor.x, y)

        # Handle mouse press
        if button and not prev_button:
            mouse.press()
        elif not button and prev_button:
            mouse.release()
コード例 #15
0
ファイル: mouse_play.py プロジェクト: Mustafa744/pc_control
def Mouse_control(line):
    for i in range(len(line)):
        if line[i] == ",":
            x = line[1:i]
            y = line[i + 2:-3]
            state = line[len(line) - 2]
    print "x=", x, "y=", y, "state =", state, "\n"
    if mouse.is_pressed(button="middle"):
        exit()
    mouse.move(int(x), int(y), absolute=True, duration=0)
    if state == "1":
        mouse.press(button='left')
        print "\a"
    elif state == "0":
        mouse.release(button='left')
    time.sleep(0.01)
コード例 #16
0
ファイル: find_times.py プロジェクト: 56kyle/legends
 def play(self):
     for action in self.actions:
         try:
             action.delay
         except AttributeError:
             action = Action(action['button'],
                             action['action'],
                             None,
                             delay=float(action['delay']))
         time.sleep(action.delay)
         if action.action == mouse.UP:
             mouse.release(action.button)
         elif action.action == mouse.DOWN:
             mouse.press(action.button)
         elif action.action == mouse.DOUBLE:
             mouse.double_click(action.button)
コード例 #17
0
ファイル: _mouse_tests.py プロジェクト: fintechilla/RPAd
 def test_buttons(self):
     mouse.press()
     self.assertEqual(self.flush_events(), [(DOWN, LEFT)])
     mouse.release()
     self.assertEqual(self.flush_events(), [(UP, LEFT)])
     mouse.click()
     self.assertEqual(self.flush_events(), [(DOWN, LEFT), (UP, LEFT)])
     mouse.double_click()
     self.assertEqual(self.flush_events(), [(DOWN, LEFT), (UP, LEFT),
                                            (DOWN, LEFT), (UP, LEFT)])
     mouse.right_click()
     self.assertEqual(self.flush_events(), [(DOWN, RIGHT), (UP, RIGHT)])
     mouse.click(RIGHT)
     self.assertEqual(self.flush_events(), [(DOWN, RIGHT), (UP, RIGHT)])
     mouse.press(X2)
     self.assertEqual(self.flush_events(), [(DOWN, X2)])
コード例 #18
0
def enderman_farm():
    print('Program started')
    print('Hold + to start farming')
    print('Hold - to stop farming')
    print('Hold * to exit the program')

    while True:
        sleep(0.5)
        if kb_is_pressed('*'):
            print('Exiting Program')
            exit(0)

        if kb_is_pressed('+'):
            print('Starting Farm')
            afk_message_start = datetime.datetime.now()
            eating_start = afk_message_start
            while True:
                sleep(1)
                if not is_pressed('left'):
                    press(button='left')
                    release(button='left')

                if kb_is_pressed('-'):
                    print('Farm stopped')
                    release(button='left')
                    break

                if kb_is_pressed('*'):
                    print('Exiting Program')
                    release(button='left')
                    exit(0)

                if datetime.datetime.now() - eating_start > datetime.timedelta(
                        minutes=1):
                    release(button='left')
                    keyboard.send('9')
                    sleep(0.5)
                    press(button='right')
                    sleep(10)
                    release(button='right')
                    keyboard.send('1')
                    eating_start = datetime.datetime.now()

                if datetime.datetime.now(
                ) - afk_message_start > datetime.timedelta(minutes=3):
                    send_afk_message()
                    afk_message_start = datetime.datetime.now()
コード例 #19
0
ファイル: holder.py プロジェクト: OfirIsakov/button_holder
def main():
    button = input('Enter right or left: ')

    if button in BUTTONS:
        print('Will start in:')
        for i in range(START_DELAY, 0,
                       -1):  # count START_DELAY seconds and start
            print(i)
            time.sleep(1)
        mouse.press(button=button)  # hold the button

        print('Waiting for escape key in order to stop...')
        keyboard.wait('esc')  # wait for escape key to be pressed
        mouse.release(button=button)  # stop holding
        print('Done!')
    else:
        print('Not a button...')
コード例 #20
0
def send_afk_message():
    release('right')
    keyboard.send("t")
    sleep(0.1)
    keyboard.write(
        'Hallo, ich bin nicht wirklich online. Das ist nur ein Bot. Wenn schlafen dringend nötig ist dann kick mich bitte wenn es sein muss. :('
    )
    sleep(0.1)
    keyboard.send('enter')
    sleep(0.2)
    keyboard.send('t')
    sleep(0.1)
    keyboard.write(
        'Wenn du keine Rechte dazu hast dann hast du wohl Pech gehabt xD Liebe geht raus an alle <3'
    )
    sleep(0.1)
    keyboard.send('enter')
    sleep(0.1)
    press('right')
コード例 #21
0
def getDistance():
    while(1):
        try:
            text=ser.readline()
            text=text.decode()
            if text!='':
                #print(text)
                dis = int(text)
                if dis<=20:
                    if ~mouse.is_pressed():
                        mouse.press()
                        #mouse.click(button='left');
                        print("clicked")
                else:
                    if mouse.is_pressed():
                        mouse.release()
            #time.sleep(.03)
        except:
            break;
コード例 #22
0
    def do_GET(self):
        self.do_HEAD()  # set header

        # parse url arguments
        url_args = dict(parse_qsl(urlparse(self.path).query))

        # if command exists
        if "cmd" in url_args:
            if url_args["cmd"] == "snap":
                # reply with screenshot
                if os.path.exists(scr_img):
                    with open(scr_img, 'rb+') as f:
                        self.wfile.write(f.read())
            elif url_args["cmd"] == "mouse_position":
                # calculate `client-server` mouse coordinates
                POS_X = float(url_args["pos_x"])
                POS_Y = float(url_args["pos_y"])
                CAX = float(url_args["coord_x"])
                CAY = float(url_args["coord_y"])
                CBX = float(sz[0])
                CBY = float(sz[1])

                # precise coordinates ratio
                coord_x = int(round((CBX / CAX) * POS_X))
                coord_y = int(round((CBY / CAY) * POS_Y))

                # some rubbber duckies:)
                #print("my coordinates: {0} ; {1}".format(coord_x, coord_y))
                #print(CAX , CBX , CBX , CAX , CBX, POS_X, POS_Y, mouse.get_position())

                # move mouse
                mouse.move(coord_x, coord_y)
            elif url_args["cmd"] == "mouse_press":
                button = butts[int(url_args["button"])]
                mouse.press(button)
            elif url_args["cmd"] == "mouse_release":
                button = butts[int(url_args["button"])]
                mouse.release(button)
            elif url_args["cmd"] == "key_presses":
                # press a key (event keycode)
                charkeycode = int(url_args["keycode"])
                keyboard.send(charkeycode)
コード例 #23
0
    def __air_routine(self, jump_charge_time, after_jump_time, trick_cycles):
        # Jump
        self.__hold(self.__KEYBOARD, 'space', jump_charge_time)

        # After jump delay
        sleep(after_jump_time)

        last_loop = trick_cycles - 1

        for loop in range(trick_cycles):
            # Nose Planker
            mouse.press(mouse.RIGHT)
            sleep(0.075)
            mouse.release(mouse.RIGHT)

            # Delay
            sleep(0.35)

            # Copter
            keyboard.press_and_release('space')

            if loop is not last_loop:
                # Delay
                sleep(0.35)
コード例 #24
0
    def handle_held_button_repetition(self):
        while True:
            tick_time = now()

            on_hold = lambda: None if self.is_mouse_mode else keyboard.press(
                'left')
            on_release = lambda: self.release_mouse_if_pressed(
                'left') if self.is_mouse_mode else self.release_key_if_pressed(
                    'left')
            self.held_button_action(tick_time, "LEFT", on_hold, on_release)

            on_hold = lambda: mouse.press(
                button='right') if self.is_mouse_mode else keyboard.press(
                    'right')
            on_release = lambda: self.release_mouse_if_pressed(
                'right'
            ) if self.is_mouse_mode else self.release_key_if_pressed('right')
            self.held_button_action(tick_time, "RIGHT", on_hold, on_release)

            on_hold = lambda: mouse.wheel(
                delta=1) if self.is_mouse_mode else keyboard.press('up')
            on_release = lambda: None if self.is_mouse_mode else self.release_key_if_pressed(
                'up')
            self.held_button_action(tick_time, "UP", on_hold, on_release)

            on_hold = lambda: mouse.wheel(
                delta=-1) if self.is_mouse_mode else keyboard.press('down')
            on_release = lambda: None if self.is_mouse_mode else self.release_key_if_pressed(
                'down')
            self.held_button_action(tick_time, "DOWN", on_hold, on_release)

            def get_current_action(btn, action_idx):
                action_name = self.current_padboard_grill[self.is_pressed[btn]
                                                          [2]][action_idx]
                return get_actions_by_name(action_name)

            for btn, action_idx in [('BTN_NORTH', 0), ('BTN_WEST', 1),
                                    ('BTN_EAST', 2), ('BTN_SOUTH', 3)]:
                on_hold = lambda: get_current_action(btn, action_idx)[1]()
                on_release = lambda: get_current_action(btn, action_idx)[2]()
                self.held_button_action(tick_time, btn, on_hold, on_release)

            time.sleep(self.rapid_fired_frequency)
コード例 #25
0
ファイル: main.py プロジェクト: stopwithfailure/b-b
    def Op(key, op, ox, oy):
        # print(key, op, ox, oy)
        if key == 1:
            if op == 100:

                # 左键按下
                mouse.move(ox, oy)
                mouse.press(button=mouse.LEFT)
            elif op == 117:

                # 左键弹起
                x, y = mouse.get_position()
                if ox != x or oy != y:
                    if not mouse.is_pressed():
                        mouse.press(button=mouse.LEFT)
                    mouse.move(ox, oy)
                mouse.release(button=mouse.LEFT)
        elif key == 2:

            # 滚轮事件
            if op == 0:
                # 向上
                mouse.move(ox, oy)
                mouse.wheel(delta=-1)
            else:
                # 向下
                mouse.move(ox, oy)
                mouse.wheel(delta=1)

        elif key == 3:
            # 鼠标右键
            if op == 100:
                # 右键按下
                mouse.move(ox, oy)
                mouse.press(button=mouse.RIGHT)
            elif op == 117:
                # 右键弹起
                mouse.move(ox, oy)
                mouse.release(button=mouse.RIGHT)

        else:
            k = official_virtual_keys.get(key)
            if k is not None:
                if op == 100:  # 按键按下
                    keyboard.press(k)
                elif op == 117:  # 按键抬起
                    keyboard.release(k)
コード例 #26
0
def main():
    while True:
        logger.debug('Waiting for input...')
        val = int(ser.read()[0])
        logger.debug(f'Got {val}')

        if val == 31:
            logger.info('Left press')
            mouse.press(mouse.LEFT)
        elif val == 32:
            logger.info('Left release')
            mouse.release(mouse.LEFT)
        elif val == 41:
            logger.info('Middle press')
            mouse.press(mouse.MIDDLE)
        elif val == 42:
            logger.info('Middle release')
            mouse.release(mouse.MIDDLE)
        elif val == 51:
            logger.info('Right press')
            mouse.press(mouse.RIGHT)
        elif val == 52:
            logger.info('Right release')
            mouse.release(mouse.RIGHT)

        elif val == 1:
            logger.info('Move left')
            mouse.move(x=-1, y=0, absolute=False)
        elif val == 2:
            logger.info('Move right')
            mouse.move(x=1, y=0, absolute=False)
        elif val == 21:
            logger.info('Move up')
            mouse.move(y=-1, x=0, absolute=False)
        elif val == 22:
            logger.info('Move down')
            mouse.move(y=1, x=0, absolute=False)

        elif val == 11:
            logger.info('Wheel down')
            mouse.wheel(-1)
        elif val == 12:
            logger.info('Wheel up')
            mouse.wheel(1)
コード例 #27
0
def fill(x, y, color):
    px = mouse.get_position()[0]
    py = mouse.get_position()[1]

    xF = int(x) + 5
    yF = int(y) + 150

    if (xF < 5):
        xF = 5
    if (yF < 150):
        yF = 150
    if (xF > 965):
        xF = 965
    if (yF > 730):
        yF = 730

    # select fill color
    colorChange(colToNum(str(color)))
    # press can
    mouse.move(196, 77)
    time.sleep(0.1)
    mouse.press(button='left')
    time.sleep(0.1)
    mouse.release(button='left')
    time.sleep(0.1)
    #press point
    mouse.move(xF, yF)
    time.sleep(0.1)
    mouse.press(button='left')
    time.sleep(0.1)
    mouse.release(button='left')
    time.sleep(0.1)
    #press brush
    mouse.move(269, 79)
    time.sleep(0.1)
    mouse.press(button='left')
    time.sleep(0.1)
    mouse.release(button='left')
    time.sleep(0.1)
    #return mouse
    mouse.move(px, py)
    time.sleep(0.1)
コード例 #28
0
ファイル: faster_crunch.py プロジェクト: SClausen1/lbr_play
def buy_and_crunch_macro():
       mouse.move(*BUY_XY, duration=.2)
       time.sleep(.2)

       mouse.press('left')
       time.sleep(.1)
       mouse.release('left')

       keyboard.send('c')

       mouse.move(*CRUNCH_XY, duration=.2)
       time.sleep(.2)

       mouse.press('left')
       time.sleep(.1)
       mouse.release('left')

 
       mouse.move(*CONFIRM_XY, duration=.2)
       time.sleep(.2)

       mouse.press('left')  
       time.sleep(.2)
       mouse.release('left')
コード例 #29
0
        prev_y = y


# Draw spiral
canvas = driver.find_element_by_class_name("drawing-board-canvas")
location = canvas.location
size = canvas.size

# Obtain absolute coordinates of the canvas center
browser_navigation_panel_height = driver.execute_script(
    'return window.outerHeight - window.innerHeight;')
x = location['x'] + size['width']/2
y = location['y'] + size['height']/2 + browser_navigation_panel_height

mouse.move(x, y)
mouse.press(button='left')
draw_spiral(5)
time.sleep(0.1) # Иначе не дорисовывает
mouse.release(button='left')

# Make screenshot
driver.save_screenshot('pageImage.png')

# Crop image
border = 5
x = location['x']
y = location['y']
width = location['x']+size['width']
height = location['y']+size['height']
im = Image.open('pageImage.png')
im = im.crop((int(x) + border, int(y) + border,
コード例 #30
0
 def MouseClick(key, seconds):  #key means left or right for this one
     mouse.press(button=key)
     #Mouse has a timer otherwise left click may not get registered. In some games it can be 0.1 seconds
     time.sleep(seconds)
     mouse.release(button=key)