PyAutoGui Basılı Tutma İşlemi Çalışmıyor

Merhaba. İki gündür bir python kodu üzerinde çalışıyorum fakat 2 gündür yapamadığım bir şey var. Tuşa basılı tutma işini bir türlü çözemedim. Yardımcı olur musunuz?

import speech_recognition as sr
import pyautogui

r = sr.Recognizer()

w_key_pressed = False

while True:
    with sr.Microphone() as source:
        print("Bir komut söyleyin:")
        audio = r.listen(source)
        try:
            recognized_text = r.recognize_google(audio, language='tr-TR')
            print("Söylenen komut: " + recognized_text)
            if "İleri" in recognized_text and not w_key_pressed:
                pyautogui.keyDown("w")
                w_key_pressed = True
            elif "Durdur" in recognized_text:
                pyautogui.keyUp("w")
                w_key_pressed = False
            elif "Bulgur" in recognized_text or "Burdur" in recognized_text:
                pyautogui.keyUp("w")
                w_key_pressed = False
        except sr.UnknownValueError:
            print("Ses anlaşılamadı.")
        except sr.RequestError as e:
            print("Ses tanıma hatası: {0}".format(e))

Merhaba,
Bilgisayarımda mikrofon olmadığı için kodunu olduğu gibi çalıştıramadım.
Aşağıdaki şekilde çalıştırdığımda kod çalıştı;

import pyautogui

w_key_pressed = False

while True:
    girdi = input("Bir komut söyleyin:")
    try:
        if girdi == "İleri":
            pyautogui.keyDown("w")
            w_key_pressed = True
        elif girdi == "Durdur":
            pyautogui.keyUp("w")
            w_key_pressed = False
        elif girdi ==  "Bulgur":
            pyautogui.keyUp("w")
            w_key_pressed = False
    except:
        print("Ses anlaşılamadı.")

senin hatanın, kodun bu kısmında olduğunu düşünüyorum.

if "İleri" in recognized_text and not w_key_pressed:

kodu şu şekilde değiştirip dener misin?;

if recognized_text == "İleri"  and not w_key_pressed:

Tabi mikrofondan alınan sözün küçük büyük harf duyarlılığı nasıl olur o da şüpheli.
Yani mikrofondan alınan kelimelerin tüm harflerini küçük harfe ya da büyük harfe çevirmek mantıklı olabilir.
recognized_text string bir değer döndürüyorsa aşağıdaki şekilde tüm harfleri küçükharfe çevirebilirsin.;

if recognized_text.lower() == "ileri"  and not w_key_pressed:
r = sr.Recognizer()

w_key_pressed = False

while True:
    with sr.Microphone() as source:
        print("Bir komut söyleyin:")
        audio = r.listen(source)
        try:
            recognized_text = r.recognize_google(audio, language='tr-TR')
            print("Söylenen komut: " + recognized_text)
            if recognized_text == "İleri" and not w_key_pressed:
                pyautogui.keyDown("w")
                w_key_pressed = True
            elif recognized_text == "Durdur" or recognized_text == "Bulgur" or recognized_text == "Burdur":
                pyautogui.keyUp("w")
                w_key_pressed = False
            else:
                print("falan filan...")

        except sr.UnknownValueError:
            print("Ses anlaşılamadı.")
        except sr.RequestError as e:
            print("Ses tanıma hatası: {0}".format(e))

Hocam aslında sorun algılamaması değil. W harfini yazıyor fakat sadece 1 kere. Ben basılı tutmasını yani durdurana kadar yazmasını istiyorum.

recognized_text = r.recognize_google(audio, language='tr-TR').lower()

Yukarıdaki kısım doğruysa yani r.recognize_google(audio, language=‘tr-TR’) kısmı string ifadeyse , aşağıdaki kodu denemeni isterim;

r = sr.Recognizer()

w_key_pressed = False

while True:
    with sr.Microphone() as source:
        print("Bir komut söyleyin:")
        audio = r.listen(source)
        try:
            recognized_text = r.recognize_google(audio, language='tr-TR').lower()
            print("Söylenen komut: " + recognized_text)
            if recognized_text == "ileri" and not w_key_pressed:
                pyautogui.keyDown("w")
                w_key_pressed = True
            elif recognized_text == "durdur" or recognized_text == "bulgur" or recognized_text == "burdur":
                pyautogui.keyUp("w")
                w_key_pressed = False
            else:
                print("falan filan...")

        except sr.UnknownValueError:
            print("Ses anlaşılamadı.")
        except sr.RequestError as e:
            print("Ses tanıma hatası: {0}".format(e))