71 lines
1.4 KiB
Python
71 lines
1.4 KiB
Python
from pynput import keyboard, mouse
|
|
from logger import log
|
|
from threading import Thread
|
|
|
|
|
|
def on_press(key):
|
|
try:
|
|
log(key.vk)
|
|
except AttributeError:
|
|
if key.name != 'space':
|
|
log(int(str(key.value)[1:-1]))
|
|
else:
|
|
log(32)
|
|
except:
|
|
pass
|
|
|
|
|
|
def on_release(key):
|
|
try:
|
|
log(-key.vk)
|
|
except AttributeError:
|
|
if key.name != 'space':
|
|
log(-int(str(key.value)[1:-1]) - 3)
|
|
else:
|
|
log(-32 - 3)
|
|
except:
|
|
pass
|
|
|
|
|
|
def on_click(x, y, button, pressed):
|
|
try:
|
|
log(-1, (int(button.name == 'left') * 2 - 1) * x, (int(pressed) * 2 - 1) * y)
|
|
except:
|
|
pass
|
|
|
|
|
|
def on_scroll(x, y, dx, dy):
|
|
try:
|
|
log(-2, x, y, dx, dy)
|
|
except:
|
|
pass
|
|
|
|
|
|
class KeyThread(Thread):
|
|
def __init__(self):
|
|
Thread.__init__(self)
|
|
|
|
def run(self):
|
|
with keyboard.Listener(
|
|
on_press=on_press,
|
|
on_release=on_release) as keylistener:
|
|
keylistener.join()
|
|
|
|
|
|
class MouseThread(Thread):
|
|
def __init__(self):
|
|
Thread.__init__(self)
|
|
|
|
def run(self):
|
|
with mouse.Listener(
|
|
on_click=on_click,
|
|
on_scroll=on_scroll) as mouselistener:
|
|
mouselistener.join()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
kthread = KeyThread()
|
|
kthread.start()
|
|
mthread = MouseThread()
|
|
mthread.start()
|