Arkadaşlar merhaba;
Ben pynput kütüphanesi ile bir proje yapacağım ama bir yerde takıldım.
import pynput.keyboard as Keyboard
def on_press(key):
try:
print(f'Key {key.char} pressed!')
except AttributeError:
print(f'Special Key {key} pressed!')
def on_release(key):
print(f'Key {key} released')
if key == Keyboard.Key.esc:
return False
with Keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
Şimdilik yazdığım kod böyle. Benim istediğim sol shift ve tab tuşuna aynı anda basıldığında programın kapanması bunu nasıl yapabilirim?
Teşekkürler!
sol shift basıldıktan sonra tab için bekleyebilir
Peki bunu nasıl yapabilirim?
eğer sol shift basıldıysa
ve eğer tab basıldıysa
kapat
değilse
devam et
if(listener == 'shift'): #aslına bakarsanız shifte basıldığında shift stringini döndürüyor mu bilmiyorum
exit()
else:
pass
kodlarda mutlaka hata vardır ama basit olur düzeltirsin ayrıca burada sadece shift tuşuna basıldığında oluyor bunu nasıl geliştiririm bilmiyorum
orada da yazdım aynı anda iki tuşa basıldığında nasıl algılamasını sağlayacağımı bilmiyorum
Sorun şu ki aynı anda shift ve tab a bastığımız da ikisini de farklı komut satırında yazıyor.
Örnek olarak;
=> ‘shift’ pressed
=> ‘tab’ pressed
Bunu gibi yazıyor
Eğer kodu çalıştırırsanız ne demek istediğimi daha rahat anlarsınız
Biz böyle mi yardım ediyoruz insanlara? Algoritmayı değil, kodları sormuş.
algoritmayla kodu yazabilir
hackaxx
Aralık 12, 2020, 10:58öö
11
algoritmayı @LURIDss de biliyor o pynputun hangi fonksiyonlarını kullanarak veya ne yaparak algoritmayı uygulayabileceğini soruyor. bu arada @LURIDss konu dışı olacak ama program bir kere a tuşuna bastığında bir değil iki şey yazıyor şunlar
a tuşuna bastığımda
key a pressed
key a released
onun yerine sadece key a pressed yazsa daha güzel olmaz mı
import pynput.keyboard as Keyboard
previous_key = None
current_Key = None
def on_press(key):
global previous_key, current_Key
previous_key = current_Key
try:
print(f'Key {key.char} pressed!')
except AttributeError:
print(f'Special Key {key} pressed!')
current_Key = str(key)
if previous_key == "Key.shift" and current_Key == "Key.tab":
exit()
def on_release(key):
global current_Key
print(f'Key {key} released')
current_Key = None
if key == Keyboard.Key.esc:
return False
with Keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
Buyrun efenim, iyi çalışmalar.