⌨️ Input Yönetimi | pynput
Python ile klavye ve mouse yönetimi (keyboard and mouse hooks), kısayol oluşturma, tuş basımı ve mouse tıklamaları

👀 Hızlı Bakış

    🤖 Bilgisayarı işlemlerini otomatikleştirmeyi sağlar
    ✴️ Windows için pynput paketi kullanılır

⌨️ Klavye Yönetimi

    👂 Dinleme işlemleri için Listener objesi kullanılır
    👨‍💼 Yönetme işlemleri için Controller objesi kullanılır
1
from pynput import keyboard
2
3
def on_press(key):
4
try:
5
print('alphanumeric key {0} pressed'.format(
6
key.char))
7
except AttributeError:
8
print('special key {0} pressed'.format(
9
key))
10
11
def on_release(key):
12
print('{0} released'.format(
13
key))
14
if key == keyboard.Key.esc:
15
# Stop listener
16
return False
17
18
# Collect events until released
19
with keyboard.Listener(
20
on_press=on_press,
21
on_release=on_release) as listener:
22
listener.join()
23
24
# ...or, in a non-blocking fashion:
25
listener = keyboard.Listener(
26
on_press=on_press,
27
on_release=on_release)
28
listener.start()
Copied!
‍🧙‍♂ Detaylı bilgi için Keyboard ~ pynput alanına bakabilirsin.

💞 Hotkey Tanımlama

    ➕ Listener objesine hotkey'i tetikleyen metot eklenmesi gerekir
    👮‍♂️ Hotkey'in tetiklenmesi key için canonical metodu ile kullanılmalıdır
    ❌ Eğer canonical olarak kullanılmazsa tuş kombinasyonlarını algılamaz
1
from pynput import keyboard
2
3
def on_activate():
4
print('Global hotkey activated!')
5
6
def for_canonical(f):
7
return lambda k: f(l.canonical(k))
8
9
hotkey = keyboard.HotKey(
10
keyboard.HotKey.parse('<ctrl>+<alt>+h'),
11
on_activate)
12
with keyboard.Listener(
13
on_press=for_canonical(hotkey.press),
14
on_release=for_canonical(hotkey.release)) as l:
15
l.join()
Copied!
‍🧙‍♂ Detaylı bilgi için Keyboard ~ pynput alanına bakabilirsin.

🖱 Mouse Yönetimi

    👂 Dinleme işlemleri için Listener objesi kullanılır
    👨‍💼 Yönetme işlemleri için Controller objesi kullanılır
1
from pynput.mouse import Button, Controller
2
3
mouse = Controller()
4
5
# Read pointer position
6
print('The current pointer position is {0}'.format(
7
mouse.position))
8
9
# Set pointer position
10
mouse.position = (10, 20)
11
print('Now we have moved it to {0}'.format(
12
mouse.position))
13
14
# Move pointer relative to current position
15
mouse.move(5, -5)
16
17
# Press and release
18
mouse.press(Button.left)
19
mouse.release(Button.left)
20
21
# Double click; this is different from pressing and releasing
22
# twice on Mac OSX
23
mouse.click(Button.left, 2)
24
25
# Scroll two steps down
26
mouse.scroll(0, 2)
Copied!
‍🧙‍♂ Detaylı bilgi için Mouse ~ pynput alanına bakabilirsin.

🔗 Faydalı Bağlantılar

Last modified 1yr ago