admin 管理员组文章数量: 1184232
#!/usr/bin/python
# -*- coding:utf-8 -*-
import re
import time
import pprint
import tkinter
import threading
import traceback
from pynput.mouse import Listener as mlistener
from pynput.mouse import Controller as mcontroller
from pynput.keyboard import Key
from pynput.keyboard import Listener as klistener
from pynput.keyboard import Controller as kcontroller
SHIFT_DIFF = False
class recorder:
def __init__(
self,
start_record_key = 'f7',
stop_record_key = 'f7',
start_repeat_key = 'f8',
stop_repeat_key = 'f8',
start_repeats_key = 'f9',
stop_repeats_key = 'f9',
close_key = 'esc',
debug = True,
debug_info = False,
outclass = None,
):
self.lock = threading.Lock()
self.record = []
self.debug = debug
self.debug_info = debug_info
self.start_record_key = start_record_key
self.stop_record_key = stop_record_key
self.start_repeat_key = start_repeat_key
self.stop_repeat_key = stop_repeat_key
self.start_repeats_key = start_repeats_key
self.stop_repeats_key = stop_repeats_key
self.close_key = close_key
self.record_status = 'stop' # only [start or stop]
self.repeat_status = 'stop' # only [start or stop]
self.unrecord_key = [
self.start_record_key,
self.stop_record_key,
self.start_repeat_key,
self.stop_repeat_key,
self.start_repeats_key,
self.stop_repeats_key,
self.close_key,
]
self.outclass = outclass
self.key_hook = getattr(self.outclass, 'key_hook', None)
if self.key_hook:
self.unrecord_key.extend(list(self.key_hook))
self.keyboard_listen_thread = None
self.mouse_listen_thread = None
self.main_keybord_thread = None
self.speed = 1.0
def safe_add_action(self, msg):
with self.lock: self.record.append(msg)
if self.debug_info:
print('{} {} {}'.format(msg['type'], msg['action'], msg['time']))
if msg['type'] == 'mouse':
if msg['action'] == 'scroll':
print(' scroll:{}'.format((msg['x'], msg['y'], msg['dx'], msg['dy'])))
else:
print(' xy:{}'.format((msg['x'], msg['y'])))
if msg['type'] == 'keyboard':
print(' key:{}'.format(msg['key']))
def on_move(self, x, y):
msg = {}
msg['type'] = 'mouse'
msg['action'] = 'move'
msg['time'] = time.time()
msg['x'], msg['y'] = x, y
self.safe_add_action(msg)
def on_click(self, x, y, button, pressed):
msg = {}
msg['type'] = 'mouse'
msg['action'] = 'press' if pressed else 'release'
msg['time'] = time.time()
msg['x'], msg['y'] = x, y
msg['button'] = button
self.safe_add_action(msg)
def on_scroll(self, x, y, dx, dy):
msg = {}
msg['type
版权声明:本文标题:Python小工具:键盘鼠标录制&一键生成代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1754862039a3044641.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论