arka planında python kullanarak mouseevents ve keyevents'ı nasıl yakalayabilirim Arka planda çalışabilen ancak bir mouseevent veya keyevent olduğunda metin yazdırabilen bir python betiği yapmak istiyorum. Bunu başarmak için herhangi bir kütüphane/yerleşik işlevsellik var mı? Ya da bu bilgiyi almak için arayabileceğim herhangi bir sistem komutu? Kök olmak sorun değil.Linki
Q
Linki
7
A
cevap
11
Sanırım, evde yaşananlar için python bağlamaları kullanabilirsiniz: http://packages.python.org/evdev/index.html. eğitimde bunlar klavye için bir örnek vermek, ama bu fare olayları için benzer olmalıdır:
>>> from evdev import InputDevice, categorize, ecodes
>>> from select import select
>>> dev = InputDevice('/dev/input/event1')
>>> print(dev)
device /dev/input/event1, name "Dell Dell USB Keyboard", phys "usb-0000:00:12.1-2/input0"
>>> while True:
... r,w,x = select([dev], [], [])
... for event in dev.read():
... if event.type == ecodes.EV_KEY:
... print(categorize(event))
... # hitting a and holding space
key event at 1337016188.396030, 30 (KEY_A), down
key event at 1337016188.492033, 30 (KEY_A), up
key event at 1337016189.772129, 57 (KEY_SPACE), down
key event at 1337016190.275396, 57 (KEY_SPACE), hold
key event at 1337016190.284160, 57 (KEY_SPACE), up
2
örneğin pynput bir göz atın:
from pynput.keyboard import Key, Listener
#defining function to print when key is pressed
def on_press(key):
print('{0} pressed'.format(
key))
#defining function to print when key is released
def on_release(key):
print('{0} release'.format(
key))
if key == Key.esc:
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
İlgili konular
- 1. Linki
- 2. Linki
- 3. İletişim linki
- 4. JSON.NET Linki
- 5. Bir paylaşım linki için panomu açmam.
- 6. Onay linki JSF'ye e-posta gönder
- 7. Visual Studio Linki ile Sorun Bağlantı
- 8. WhatsApp Web sürümü için paylaşım linki?
- 9. Genel bir Amazon ortaklık linki nasıl edinilir?
- 10. Rails'de haml kullanarak nasıl görüntü linki oluşturabilirim?
- 11. Windows'da bir mailto linki nasıl oluşturulur?
- 12. "IN IN IN" deyimine "Linki Olmayan Öğe" deyimi
- 13. createjs gezinmek url linki flaş movieclip için çalışma değil
- 14. Raylar, nasıl bir metin linki ile bir form gönderirsiniz?
- 15. Amazon S3 kepçe nesnesi için indirme linki nasıl oluşturulur?
- 16. google play mağazasının açık linki mobil sürüm android
- 17. Kafanın içinde birden fazla RSS linki, geçerli işaretleme var mı, değil mi?
- 18. Mailto adresinden posta setine acil öncelik eklenmesi
- 19. jslint.js download link
- 20. Portal 2 stili geçişler nasıl yapılır?
- 21. Android'e Google Cloud Print'e erişme
- 22. Visual Studio'da web tarayıcımda değil, Visual Studio'daki bağlantıları nasıl açarım?
- 23. Bir bağlantıdan alt çizgi nasıl kaldırılır ve üzerine alt çizgi eklenir? (ekli görüntüler)
- 24. Dreamweaver Şablonu'nda bileşen bağlantısını gizle
- 25. Redhat Linux'ta CLISP nasıl yüklenir
- 26. Genel klasör içindeki resimleri laravel'e erişin
- 27. dosya PHP almak url değişkeni eklemek
- 28. jgraph örneği nasıl çalıştırılır?
- 29. benim ipython dizüstü özünü güncellenen, ama neden güncellemek nbviewer değil mi?
- 30. ? mümkün mü?
yüzden - bir keylogger gibi? –
Evet. ... karakter sınırı ... – jett
Girdi olaylarını '/ dev/input' içindeki cihazlardan okumalısınız. –