from pynput.keyboard import Key, Controller import time key = input("enter a letter: ") n = int(input("enter the amount of times to repeat: ")) interval = int(input("enter the interval: ")) keyboard = Controller() time.sleep(3) #3 second delay to select active window for i in range(n): keyboard.press(key) keyboard.press(Key.enter) time.sleep(interval)
if len(self._cur_keys) >= 3: combo = self._cur_keys[-3:] return combo def _cleaner(self): while True: time.sleep(0.7) self._cur_keys.clear() def get_parsed_comob(self): combo = self.get_combo() if combo: key = ''.join(combo) if key in self._keymap.keys(): return self._keymap[key] def send(combo_content): for _ in range(3): k.press(Key.backspace) k.release(Key.backspace) k.type(combo_content) cl = ComboListener() k = Controller() while True: combo_conten = cl.get_parsed_comob() if combo_conten: send(combo_conten)
def get_result(self, cont): time.sleep(10) Controller().press('w') Controller().release('w') cont.show_frame(result_page)
def __init__(self): self.keyboard = Controller()
from pynput import keyboard from pynput.keyboard import Key, Controller import potplayer volume_max = 1000 volume_min = 0 volume_data = 100 volume_range = volume_max - volume_min volume_section = 5 # initiate object key_press = Controller() playlist = potplayer.PlayList() def on_press(key): try: print('alphanumeric key {0} pressed'.format(key.char)) # start potplayer if key.char == 'p': potplayer.run(r"music\\amelie_ost.mp3") # volume control potplayer if (key.char == 'w'): key_press.press(Key.up) key_press.release(Key.up) if (key.char == '-'): key_press.press(Key.left) key_press.release(Key.left)
from pynput.keyboard import Key, Controller import time keyboard = Controller() # Init the v-keyboard # @param a string def pressKey(key): keyboard.press(key) keyboard.release(key) print("Pressed {}".format(key)) def main(): while True: #pressKey('a') pressKey(Key.ctrl_l) time.sleep(2) if __name__ == "__main__": # execute only if run as a script main()
def __init__(self): self.keyboard = Controller() self.moving = None
def rundownload(url=None): # url = 'https://nyu.zoom.us/rec/play/UKPXKO2LUQA6ysW8ogVJ5rkihlQ7VvMTG_oEJiPM043SFe5SennJZH5jcns0FMArfFhw7IluTVdVaMcf.ZBgkgKliJdnSdPfM?continueMode=true' while not url: url = input('Hurl the URL this way my guy (or Q to go back):\n') if url in ['q', 'Q']: return options = webdriver.ChromeOptions() options.add_argument('--load-extension=enable') # options.add_argument('--headless') options.add_experimental_option( "prefs", { "download.default_directory": ROOT_DIR, "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing.enabled": True }) driver = webdriver.Chrome('./chromedriver', options=options) driver.get(url) print(driver.title) config = configparser.ConfigParser() config.read('credentials.ini') USERNAME = config.get('ZOOM', 'USER') PASSWORD = config.get('ZOOM', 'PASS') def nyulogin(): driver.find_element_by_class_name('login-btn-sso').click() # sleep(1.5) domain = driver.find_element_by_name('domain') domain.clear() domain.send_keys('nyu') driver.find_element_by_class_name('submit').click() # sleep(1.5) username = driver.find_element_by_id("username") username.clear() username.send_keys(USERNAME) password = driver.find_element_by_id("password") password.clear() password.send_keys(PASSWORD) driver.find_element_by_name('_eventId_proceed').click() # sleep(1.5) driver.switch_to.frame(driver.find_element_by_id('duo_iframe')) # if ('Choose an authentication method' in driver.page_source): # print('text exists') driver.find_element_by_xpath( "//button[contains(text(), 'Push')]").click() if ('Sign In' in driver.page_source): print('Need to sign in') nyulogin() sleep(10) # wait for user to do 2FA """ Improvement: after sleep (waiting for user 2FA), listen for video page to load. Once loaded, stop the sleep and go straight to download actions. """ video = driver.find_element_by_tag_name("video") videosrc = video.get_attribute('src') videodate = videosrc.split('GMT', 1)[1] videodate = videodate.split('-', 1)[0] title = driver.title if ' Zoom' in title: title = title.replace(' Zoom', '') for c in [':', ' ', '-']: title = title.replace(c, '_') if title[-1] != '_': title = title + '_' filename = title + videodate for x in ['__', '___']: filename = filename.replace(x, '_') filename = filename + '.mp4' print(filename) # selenium right click on video, pynput simulate keyboard # down arrow x4 (to reach 'Save Video As'), enter, enter again at save window from pynput.keyboard import Key, Controller keyboard = Controller() action = ActionChains(driver) action.context_click(video).perform() sleep(1.5) for _ in range(4): keyboard.press(Key.down) keyboard.release(Key.down) keyboard.press(Key.enter) keyboard.release(Key.enter) sleep(5) keyboard.type(ROOT_DIR + "/file_io") # enter download directory keyboard.press(Key.enter) keyboard.release(Key.enter) sleep(1) keyboard.type(filename) # enter download name keyboard.press(Key.enter) # confirm download keyboard.release(Key.enter) sleep(15) # wait for download to finish driver.close() return filename
import sys import win32com.client as win32 from win32com.client import constants from pynput.keyboard import Key, Controller from pynput.mouse import Button, Controller import time import thread import pythoncom path = sys.argv[1] # Create list of paths to .doc files time.sleep(4) pythoncom.CoInitialize() path1 = 'C:\\..\\..\\..\\..\\' + path + '\\*.doc' paths = glob(path1) mouse = Controller() def my_mouse(): time.sleep(2) mouse.position = (953, 364) time.sleep(1) mouse.press(Button.left) mouse.release(Button.left) time.sleep(2) mouse.position = (991, 413) time.sleep(1) mouse.press(Button.left) mouse.release(Button.left) thread.exit()
import sys from config import config import argparse import socket from pynput.keyboard import Controller import asyncio import websockets import json, time """ osu! mobile clicker transforms your smartphone into keyboard clicker :author Yshmeel """ keyboard_controller = Controller() # https://stackoverflow.com/a/1267524 listen_port = 3125 parser = argparse.ArgumentParser(description='Setting up socket-server') parser.add_argument("--ip", type=str, help="ip to listen") parser.add_argument("--port", type=str, help="port to listen") args = parser.parse_args() if args.ip != None: listen_ip = args.ip else: listen_ip = (([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")] or [[(s.connect(("8.8.8.8", 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) + ["no IP found"])[0] if args.port != None: listen_port = args.port