Помощь с Tkinter.

Shelok_Kholmes

Известный
Автор темы
360
41
С помощью этой функции сделал регистрацию нажатия:
Python:
root.bind("<Key>", change_text)
, программа воспринимает нажатие клавиши только, если окно выделено, как сделать чтоб даже если выделено другое приложение, к примеру, браузер программа воспринимала нажатие клавиш.
 

Python_newbie

Новичок
12
6
С помощью этой функции сделал регистрацию нажатия:
Python:
root.bind("<Key>", change_text)
, программа воспринимает нажатие клавиши только, если окно выделено, как сделать чтоб даже если выделено другое приложение, к примеру, браузер программа воспринимала нажатие клавиш.
Насколько я знаю, в tkinter нет данного функционала, но можно использовать библиотеку pynput. (pip install pynput). Она отслеживает нажатие любой клавиши

Снипет:
from pynput import keyboard


def on_key_press(key):
    print(key)  # Принт нажатой клавиши


with keyboard.Listener(on_press=on_key_press) as listener:
    listener.join()
Так-же можно проверять отдельно нажатую клавишу:
Снипет2:
import sys
from pynput import keyboard


def on_key_press(key):
    if key == keyboard.Key.space:
        print("Пробел")
    elif key == keyboard.Key.esc:
        sys.exit()


with keyboard.Listener(on_press=on_key_press) as listener:
    listener.join()
 
  • Нравится
Реакции: Shelok_Kholmes