def PlayFunc(bindings, recorded): if keyboard.is_pressed(',') == True and recorded != None: print("\nPlaying...") sharedData = multiprocessing.Queue() if isinstance(recorded[0], tuple): sharedData.put([ keyboard.KeyboardEvent(x[0], x[1], x[6], x[2], x[3], x[5], x[4]) for x in recorded ]) else: sharedData.put(recorded) p = multiprocessing.Process(target=PlayFromProcessQueue, args=(sharedData, )) p.start() time.sleep(1) print("Press [,] if would like stop playing recorded input...") while p.is_alive(): if not sharedData.empty() and sharedData.get() == "stop": keyboard.unhook_all() p.terminate() p.join() time.sleep(1) ResetUserInput() ClearConsole() print("Done\n") ShowOptions(bindings, recorded)
def release_all_keys(): event_list = [] event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0.01, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 17, name='w', time=0.03, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def bailie(): event_list = [] event_list.append( keyboard.KeyboardEvent('down', 36, name='j', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 36, name='j', time=0.01, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 36, name='j', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 36, name='j', time=0.20, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def keyListener(x): global isRecord press = keyboard.KeyboardEvent('down', 28, 'r') release = keyboard.KeyboardEvent('up', 28, 'r') if x.event_type == 'down' and x.name == press.name: isRecord = True if x.event_type == 'up' and x.name == release.name: isRecord = False
def key(x): global press, interval, point p = keyboard.KeyboardEvent('down', 28, 'p') q = keyboard.KeyboardEvent('down', 28, 'q') if x.event_type == 'down' and x.name == p.name: press = True elif x.name == p.name: press = False if x.event_type == 'down' and x.name == q.name: interval = GetInterval() if press and time.time() - point >= interval: mouse.click(mouse.position()[0], mouse.position()[1], 1) point = time.time()
def on_press_release(x): """Keyboard callback function.""" global is_recording, enable_trigger_record press = keyboard.KeyboardEvent('down', 28, 'space') release = keyboard.KeyboardEvent('up', 28, 'space') if x.event_type == 'down' and x.name == press.name: if (not is_recording) and enable_trigger_record: sys.stdout.write("Start Recording ... ") sys.stdout.flush() is_recording = True if x.event_type == 'up' and x.name == release.name: if is_recording: is_recording = False
def judgeEvent(x): a = keyboard.KeyboardEvent('down', 28, 's') #按键事件a为按下enter键,第二个参数如果不知道每个按键的值就随便写, #如果想知道按键的值可以用hook绑定所有事件后,输出x.scan_code即可 global flag if x.event_type == 'down' and x.name == a.name: if flag: flag = False print('开启脚本') else: flag = True print('关闭脚本') x = [] y = [] for a, b in points: x.append(a) y.append(b) n = 2 x = x[n:-1] y = y[n:-1] varLD.saveData([x, y], 'date') pyplot.plot(x, y) pyplot.show() time.sleep(2)
def fileToPKR(fName=""): if fName == "": fName = chooseFile() file = open("local/recordings/"+ fName, 'r') pkrFromFile = file.readlines() file.close() pkrToPlay = [] for entry in pkrFromFile: splitEntry = entry.split() newEntry = keyboard.KeyboardEvent(event_type=splitEntry[0], scan_code=int(splitEntry[1])) newEntry.name = splitEntry[2] try: newEntry.time = float(splitEntry[3]) except: newEntry.name = splitEntry[2] + " " + splitEntry[3] newEntry.time = float(splitEntry[4]) newEntry.device = splitEntry[5] newEntry.modifiers = splitEntry[6] newEntry.is_keypad = bool(splitEntry[7]) else: newEntry.time = float(splitEntry[3]) newEntry.device = splitEntry[4] newEntry.modifiers = splitEntry[5] newEntry.is_keypad = bool(splitEntry[6]) if newEntry.event_type == 'D': newEntry.event_type = "down" elif newEntry.event_type == 'U': newEntry.event_type = "up" if newEntry.device == 'n': newEntry.device = None if newEntry.modifiers == 'n': newEntry.modifiers = None pkrToPlay.append(newEntry) return pkrToPlay
def start(self): if not self.stopped: return super().start() mouse_source, keyboard_source, engagement_source = self.sources initial_keyboard_event = keyboard.KeyboardEvent(keyboard.KEY_UP, 0) initial_mouse_event = mouse.ButtonEvent(event_type=mouse.UP, button=0, time=time.time()) self.subscriptions = [ mouse_source.output.pipe( operators.start_with(initial_mouse_event)).pipe( operators.combine_latest( keyboard_source.output.pipe( operators.start_with(initial_keyboard_event)), engagement_source.output)).pipe( operators.throttle_first(0.1)) # in seconds .subscribe(self.update) ] if self.window is None: self.window = Window(points=self.points_in_buffer, toggle_callback=self.toggle_recording) self.window.show() self.window.activateWindow() self.window.raise_()
def fromFile(inputfile,duckyfile=None): global ducky_file global script global output_log_file if duckyfile is not None: ducky_file=duckyfile output_log_file = None i = script with open(inputfile) as json_file: data = json.load(json_file) for var in data: x = json.dumps(var) if x != "{}": print_pressed_keys(keyboard.KeyboardEvent(**json.loads(x))) if actualLine is not None: i.append(actualLine) if ducky_file is not None: with open(ducky_file, "w") as wf: for var in i: wf.write(var + "\n") cleanup() return i
def speeddown(x): global v a = keyboard.KeyboardEvent('down', 28, 'down') if x.event_type == 'down' and x.name == a.name: print("你按下了down键") v = v - 10 vel = float(v) * STEP_PER_CRICLE / MM_PER_CRICLE * CONV_PARAM dType.SetEMotorEx(api, 0, 1, int(vel), 1)
def next(x): event = keyboard.KeyboardEvent('down', 0) if x.event_type == 'down' and x.name == event.event_type: clear() if news_queue.empty(): crawl() global now_news now_news = news_queue.get() now_news.print_title()
def abc(x): a = keyboard.KeyboardEvent('down', 28, 's') #按键事件a为按下enter键,第二个参数如果不知道每个按键的值就随便写, #如果想知道按键的值可以用hook绑定所有事件后,输出x.scan_code即可 global flag if x.event_type == 'down' and x.name == a.name: if flag: flag = False print('开启脚本') else: flag = True print('关闭脚本')
def run(): event_list = [] event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.03, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def SaveData(data): if len(data) > 0: newData = [] for x in range(0, len(data)): newData.append([]) for y in range(0, len(data[x])): if isinstance(data[x][y], tuple): newData[x].append( keyboard.KeyboardEvent(data[x][y][0], data[x][y][1], data[x][y][6], data[x][y][2], data[x][y][3], data[x][y][5], data[x][y][4])) else: newData[x].append(data[x][y]) with open("bindings.json", 'w') as file: json.dump(newData, file, default=obj_dict)
def content(x): event = keyboard.KeyboardEvent('left', 0) if x.event_type == 'down' and x.name == event.event_type: url = now_news.source_url html = get_html(url) matcher = re.search(r'content: \'(.*)\'', html) if matcher: content_str = matcher.group().replace('content: \'', "").replace('\'', "") content_html = re.sub( r'(\\u[\s\S]{4})', lambda x: x.group(1).encode("utf-8").decode("unicode-escape"), content_str) content_html = content_html.replace("\"", "\"").replace( """, "").replace("=", "=") soup = BeautifulSoup(content_html, 'html.parser') p_list = soup.find_all('p') for p in p_list: text = p.get_text() if text: print(text)
def main(): ctx = zmq.Context() sub = ctx.socket(zmq.SUB) logger.info("Subscribing to to: %s:%s" % (common.host, common.sub_port)) sub.connect('tcp://%s:%s' % (common.host, port)) sub.subscribe(topic=common.Topics.KBD_EVENT) last_event = kbd.KeyboardEvent(kbd.KEY_UP, 0) def should_exec(event: kbd.KeyboardEvent): if passive: return False nonlocal last_event # what the heck python delta = event.time - last_event.time last_event = event print("Delta is" + str(delta)) return delta > TARGET_DELTA while True: if kbd.is_pressed('alt+backspace'): exit(0) kbd_event: kbd.KeyboardEvent = sub.recv_pyobj() if should_exec(kbd_event): key = kbd_event.name kbd.send( key, True, False ) if kbd_event.event_type == kbd.KEY_DOWN else kbd.release(key) else: print("Skipping duplicate event") logger.info("Pressed key: " + str(kbd_event)) print("=================")
def long_up_down_flag(): event_list = [] event_list.append( keyboard.KeyboardEvent('down', 17, name='w', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 17, name='w', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 31, name='s', time=0.04, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 36, name='j', time=0.04, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 36, name='j', time=0.14, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0.14, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def rl_flyLag(): event_list = [] event_list.append( keyboard.KeyboardEvent('down', 30, name='a', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 30, name='a', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 37, name='k', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.08, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 37, name='k', time=0.08, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def tuQiu(): e1 = keyboard.KeyboardEvent('down', 31, name='s', time=0.94, modifiers=False, is_keypad=False) e2 = keyboard.KeyboardEvent('down', 32, name='d', time=0.96, modifiers=False, is_keypad=False) e3 = keyboard.KeyboardEvent('down', 36, name='j', time=0.98, modifiers=False, is_keypad=False) e4 = keyboard.KeyboardEvent('up', 32, name='d', time=1.00, modifiers=False, is_keypad=False) e5 = keyboard.KeyboardEvent('up', 36, name='j', time=1.03, modifiers=False, is_keypad=False) e6 = keyboard.KeyboardEvent('up', 31, name='s', time=1.07, modifiers=False, is_keypad=False) event_list = [e1, e2, e3, e4, e5, e6] keyboard.play(event_list)
import keyboard import webbrowser while True: event = keyboard.read_event() if (event == keyboard.KeyboardEvent( scan_code=keyboard.key_to_scan_codes('q')[0], event_type=keyboard.KEY_DOWN)): exit() if (event == keyboard.KeyboardEvent( scan_code=keyboard.key_to_scan_codes('home')[0], event_type=keyboard.KEY_DOWN)): webbrowser.open_new_tab('https://web.whatsapp.com/') webbrowser.open_new_tab('https://www.twitch.tv/') webbrowser.open_new_tab('https://www.youtube.com/?hl=es&gl=ES')
# -*- coding: utf-8 -*- import keyboard import fileinput import json import sys def print_event_json(event): print(event.to_json(ensure_ascii=sys.stdout.encoding != 'utf-8')) sys.stdout.flush() keyboard.hook(print_event_json) parse_event_json = lambda line: keyboard.KeyboardEvent(**json.loads(line)) keyboard.play(parse_event_json(line) for line in fileinput.input())
def t2_rl_flag_bisha(): # print("2龟从右到左 飞腿+必杀") event_list = [] event_list.append( keyboard.KeyboardEvent('up', 30, name='d', time=0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 30, name='a', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 30, name='a', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 37, name='k', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.09, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 37, name='k', time=0.09, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 36, name='j', time=0.10, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 17, name='w', time=0.10, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 36, name='j', time=0.15, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 17, name='w', time=0.15, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def long_lr_flag(): event_list = [] event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.01, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 17, name='w', time=0.03, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 17, name='w', time=0.12, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.12, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 31, name='s', time=0.13, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 36, name='j', time=0.13, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 36, name='j', time=0.19, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0.19, modifiers=False, is_keypad=False)) keyboard.play(event_list)
time.sleep(self.duration) # keyboard.release(self.key) # ############################################################################################## ########## ---------- Actions ----------- ########## ########## -- Scenario to hunt rainbow pudding -- ########## confirm_win = Command(ACTION_SELECT, 1) run_up = Command(ACTION_UP, 4) run_down = Command(ACTION_DOWN, 4) stop = Command(ACTION_UP, 1, True) commands = [run_up, confirm_win, run_down, confirm_win] ########################## Do not concern yourself with this part. ########################### ############################################################################################## is_continue = True # STOP_EVENT = keyboard.KeyboardEvent('down', STOP_SCRIPT, STOP_SCRIPT) # def stop_script(keyboard_event): # if(keyboard_event.name == STOP_EVENT.name): # print("Goodbye.") # global is_continue # is_continue = False # if __name__ == "__main__": # global is_continue # keyboard.on_press(stop_script) # while is_continue: # for command in commands: # command.execute() # ##############################################################################################
def t4_lr_flag_bisha(): # print("4龟从左到右 飞腿+必杀") event_list = [] event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.03, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 37, name='k', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.06, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 37, name='k', time=0.06, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 17, name='w', time=0.08, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 17, name='w', time=0.09, modifiers=False, is_keypad=False)) keyboard.play(event_list)
def detail(x): event = keyboard.KeyboardEvent('right', 0) if x.event_type == 'down' and x.name == event.event_type: now_news.print_all()
def press_event(x): global loop_out enter = keyboard.KeyboardEvent('down', 28, 'q') if x.event_type == 'down' and x.name == enter.name: loop_out = True
def qianmenhuanshu(): cnt = 0 # print("千门幻术...") release_all_keys() event_list = [] event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.0, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.02, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 32, name='d', time=0.05, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 32, name='d', time=0.20, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 30, name='a', time=0.20, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('down', 31, name='s', time=0.20, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 30, name='a', time=0.20, modifiers=False, is_keypad=False)) event_list.append( keyboard.KeyboardEvent('up', 31, name='s', time=0.20, modifiers=False, is_keypad=False)) keyboard.play(event_list) cnt += 1
def abc(x): a = keyboard.KeyboardEvent('down', 28, 'space') #按键事件a为按下enter键,第二个参数如果不知道每个按键的值就随便写, #如果想知道按键的值可以用hook绑定所有事件后,输出x.scan_code即可 if x.event_type == 'down' and x.name == a.name: print("你按下了enter键")