Search code examples
pythonpywinauto

PyWinAuto type_keys() not giving space between words


I am trying to make a voice typing program in Python using pywinauto. First I recognized the speech using SpeechRecognition module and converted the recognized speech in string and then used the type_keys() method to type the string in notepad.

Here is the code:

from pywinauto import application
import time
import speech_recognition as sr

app = application.Application()
app.start("Notepad.exe")

def type_keys_in_notepad():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("Listening...")
        r.pause_threshold = 1
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)


    try:
        print("Recognizing...")
        content = r.recognize_google(audio, language="en-in")
        print(content)
        content_str = str(content)
        app.Notepad.edit.type_keys(content_str)

    except Exception as e:
        print(e)

type_keys_in_notepad()

Solution

  • you need to add app.Notepad.edit.type_keys(content_str,with_spaces=True)

    This will help to include white spaces

    If you don't include with_spaces=True Space will be ignored