Я пытаюсь создать кейлоггер, используя Tkinter, но привязки не работают вообще. Я думаю, что связка не вызывает подпрограмму, но она не дает никакой ошибки, так что это просто обоснованное предположение.
Я начал этот проект 3 дня назад и ожидал, что он будет сделан вчера. Но эта проблема продолжала всплывать, я использую python 3.6.1.
Вот что я уже пробовал
- Использование лямбды
- Putting "command ="перед функцией
- Изменение" def keypress (): "на" def нажатие клавиши (событие) "
- Создание связывания в рамке
- Связывание каждой отдельной кнопки на клавиатуре
Я даже скопировал чей-то код кейлоггера и натолкнулся на ту же проблему (да, это был python-3.x)
Это еще более расстраивает из-за количества ответов нафорумы, которые не работают, и дни гугления и просмотра документации.
import tkinter
from tkinter import *
window = Tk()
window.title("Test")
window.config(bg = "white")
frame = Frame(window, width = 1000, height = 1000)
frame.place(x = 0, y = 0)
def keypress(event):
print("pressed", repr(event.char)) #changed repr to str and also tried deleting it
frame.bind("<Key>", lambda: keypress(event)) #other variations of this line include frame.bind("<key>", keypress), frame.bind("<key>", keypress()), frame.bind("<key>", keypress(event))
Ожидаемый ввод - просто
>>> Pressed [the key that I pressed]
, но вывод, который вы на самом деле получаете .. .
>>>
Ничего.
Любая помощь будет замечательной, заранее спасибо!