mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2025-08-25 17:39:23 +00:00
38 lines
844 B
Python
38 lines
844 B
Python
from __future__ import absolute_import
|
|
import os
|
|
import platform
|
|
import ctypes
|
|
|
|
from platform_utils import paths
|
|
from libloader import load_library
|
|
from .base import Output
|
|
|
|
class NVDA(Output):
|
|
"""Supports The NVDA screen reader"""
|
|
name = "NVDA"
|
|
lib32 = 'nvdaControllerClient32.dll'
|
|
lib64 = 'nvdaControllerClient64.dll'
|
|
argtypes = {
|
|
'nvdaController_brailleMessage': (ctypes.c_wchar_p,),
|
|
'nvdaController_speakText': (ctypes.c_wchar_p,),
|
|
}
|
|
|
|
def is_active(self):
|
|
try:
|
|
return self.lib.nvdaController_testIfRunning() == 0
|
|
except:
|
|
return False
|
|
|
|
def braille(self, text, **options):
|
|
self.lib.nvdaController_brailleMessage(text)
|
|
|
|
def speak(self, text, interrupt=False):
|
|
if interrupt:
|
|
self.silence()
|
|
self.lib.nvdaController_speakText(text)
|
|
|
|
def silence(self):
|
|
self.lib.nvdaController_cancelSpeech()
|
|
|
|
output_class = NVDA
|