from __future__ import absolute_import import ctypes from .base import Output class SystemAccess (Output): """Supports System Access and System Access Mobile""" name = "System Access" lib32 = 'saapi32.dll' argtypes = { 'SA_BrlShowTextW': (ctypes.c_wchar_p,), 'SA_SayW': (ctypes.c_wchar_p,), } priority = 99 def braille(self, text, **options): self.lib.SA_BrlShowTextW(text) def speak(self, text, interrupt=False): if self.is_active(): self.dll.SA_SayW(str(text)) def is_active(self): try: return self.dll.SA_IsRunning() except: return False output_class = SystemAccess