33 lines
722 B
Python
33 lines
722 B
Python
|
import win32gui
|
||
|
from libloader.com import load_com
|
||
|
from base import Output, OutputError
|
||
|
import pywintypes
|
||
|
|
||
|
class WindowEyes (Output):
|
||
|
"""Speech output supporting the WindowEyes screen reader"""
|
||
|
|
||
|
name = 'Window-Eyes'
|
||
|
|
||
|
def __init__(self, *args, **kwargs):
|
||
|
super(WindowEyes, self).__init__(*args, **kwargs)
|
||
|
try:
|
||
|
self.object = load_com("gwspeak.speak")
|
||
|
except pywintypes.com_error:
|
||
|
raise OutputError
|
||
|
|
||
|
def speak(self, text, interrupt=0):
|
||
|
if interrupt:
|
||
|
self.silence()
|
||
|
self.object.SpeakString(text)
|
||
|
|
||
|
def silence (self):
|
||
|
self.object.Silence()
|
||
|
|
||
|
def is_active(self):
|
||
|
try:
|
||
|
return win32gui.FindWindow("GWMExternalControl", "External Control") != 0
|
||
|
except:
|
||
|
return False
|
||
|
|
||
|
output_class = WindowEyes
|