π΄ ΠΠ°ΠΊ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ
import keyboard
def on_key_press(event):
print('ΠΠ°ΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°:', event.name)
keyboard.on_press(on_key_press)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ `keyboard` ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ `on_key_press`, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ `on_press` ΠΌΠΎΠ΄ΡΠ»Ρ `keyboard`, ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ Π½Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΠ½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ `keyboard`, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅Π³ΠΎ Π½Π΅Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ `pip install keyboard`.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Python
ΠΠ°Π±ΠΈΠ½Π΄ΠΈΡΡ (Π°Π½Π³Π». bind) β ΡΡΠΎ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. Π Python ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ tkinter
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Π² Python, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ tkinter. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ tkinter, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
import tkinter as tk
window = tk.Tk()
# ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
window.mainloop()
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ "A":
def on_key_press(event):
if event.keysym == 'a':
print("ΠΠ»Π°Π²ΠΈΡΠ° A Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°!")
# ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
3. ΠΡΠΈΠ²ΡΠΆΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ»Π°Π²ΠΈΡΠ΅
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊ ΠΊΠ»Π°Π²ΠΈΡΠ΅. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ bind ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠΊΠ½Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΠΊΠ»Π°Π²ΠΈΡΠ΅ "A":
window.bind("", on_key_press)
# ΠΠ΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ Π²Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ
4. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌ Π·Π°Π±ΠΈΠ½Π΄Π΅Π½Π½ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΠΎΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ ΠΊΠ»Π°Π²ΠΈΡΠ΅:
import tkinter as tk
def on_key_press(event):
if event.keysym == 'a':
print("ΠΠ»Π°Π²ΠΈΡΠ° A Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°!")
window = tk.Tk()
window.bind("", on_key_press)
window.mainloop()
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ "A" Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠ»Π°Π²ΠΈΡΠ° A Π±ΡΠ»Π° Π½Π°ΠΆΠ°ΡΠ°!". ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ Π»ΡΠ±ΡΡ Π΄ΡΡΠ³ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΈ on_key_press
.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π·Π°Π±ΠΈΠ½Π΄ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ tkinter. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΡΠ²Π°ΠΈΠ²Π°ΠΉΡΠ΅ ΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ!