Checking A Specific Key With Pynput In Python
dpressed = 0 def on_press(key): if key == ('d'): global dpressed dpressed+=1 logging.info('D: %s' % dpressed) When I run this code and press d, nothi
Solution 1:
For anyone else that may have this problem, I imported KeyCode from pynput.keybord at the top. Then I changed ('d') to KeyCode.from_char('d'). This should work for anyone with this problem. There is a great explanation here
Solution 2:
You need to format the key to char format else it won't be equeal to the specific character.
Try
ifkey.char == ('d'):
Full code being:
dpressed = 0
def on_press(key):
ifkey.char == ('d'):global dpressed
dpressed+=1
logging.info("D: %s" % dpressed)
Solution 3:
for anyone having this problem. this is how i solve it
from pynput.keyboard import Key, Listener, KeyCode
def print_key(*key): ## prints key that is pressed
# keyis a tuple, so access the key(char) fromkey[1]
ifkey[1] == KeyCode.from_char('d'):
print('yes!')
def key(): ## starts listener modulewith Listener(on_press=CT.print_key) as listener:
listener.join()
whileTrue:
key()
Solution 4:
Do you have a listener?
Without a listener the code wont work. Try adding this at the very end of your code.
withListener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
Post a Comment for "Checking A Specific Key With Pynput In Python"