Już jest na ten temat wątek, tu jednak chciałbym opisać status dodatku, pozostałe funkcjonalności oraz rozważyć i dopytać o propozycje.
Wraz z następną wersją Eltena (2.3.6 lub 2.4, jeszcze nie zdecydowałem), ukaże się dodatek do NVDA pozwalający na integrację tego czytnika z Eltenem. Instalacja dodatku jest możliwa z poziomu samego programu, po uruchomieniu, gdy wykryty zostanie uruchomiony NVDA, pojawi się odpowiednie pytanie. Ze względu na możliwą mniejszą techniczność użytkowników, instalacja jest automatyczna: po wciśnięciu tak, dodatek jest rozpakowywany, a NVDA restartowany bez udziału użytkownika.
Na chwilę obecną dodatek ma dwie podstawowe funkcje: mówienie i wyświetlanie brajla. Mowa umożliwia tu przewijanie kursora w miarę odczytu informacji w polach tekstowych, moduł brajlowski zaś wyświetlanie interfejsu programu na linijkach brajlowskich. Na chwilę obecną obydwie te funkcje działają, choć oczywiście z błędami wynikającymi z wersji beta. Dodatek dostanie jeszcze jedną funkcję, mianowicie integrację ze skrótami klawiszowymi w NVDA. Chodzi o to, by w Eltenie działały skróty takie, jak INS+A (strzałka w dół na desktopach). Na tym moja rola się kończy.
Przeglądając jednak kod źródłowy NVDA, swoją drogą bardzo ładnie napisany, napotkałem wiele funkcji API, które nie są używane, a pozwalają na różne ciekawe rzeczy. Przykładowo, możliwa jest zmiana głosu w trakcie czytania tekstu, wysokości, prędkości. Co najważniejsze, zmiany te mogą być zastosowane w trakcie czytania bez jakiejkolwiek przerwy, nawet w obrębie jednego wyrazu. Nie wymyśliłem żadnego tych funkcji praktycznego zastosowania, piszę jednak o nich, bo może ktoś na coś wpadnie. Ze względu na nietypowy interfejs Eltena warto się zastanowić, czy pewnych alertów nie można jeszcze bardziej usprawnić. Zapraszam do dyskusji.
Także jestem otwarty na wszystkie propozycje związane z dodatkiem. Możliwości są zasadniczo nieograniczone.
#StandWithUkraine
Shoot for the Moon. Even if you miss, you'll land among the stars.
Odgrzebuję temat. Dodatek wszedł w Eltenie 2.4. Z różnych stron dochodzą głosy, że Elten jest nieco mniej stabilny, gadacz się zawiesza itp. Istnieje spore prawdopodobieństwo, że winny jest dodatek. Bardzo bym prosił te osoby o zrobienie pewnego testu, mianowicie o przejście do menu, Narzędzia, Ustawienia Programu, Głos i wyłączenie obsługi brajla w Eltenie. Prosiłbym o informację zwrotną, czy to pomaga (i problem jest w brajlu), czy też jednak gdzieś w mowie. Z góry dzięki.
#StandWithUkraine
Shoot for the Moon. Even if you miss, you'll land among the stars.
INFO - __main__ (18:08:58.453) - MainThread (11092): Starting NVDA version alpha-21672,856adec6 INFO - core.main (18:08:58.544) - MainThread (11092): Config dir: C:\Users\miet\AppData\Roaming\nvda INFO - config.ConfigManager._loadConfig (18:08:58.544) - MainThread (11092): Loading config: C:\Users\miet\AppData\Roaming\nvda\nvda.ini INFO - core.main (18:08:58.601) - MainThread (11092): Using Windows version 10.0.19042 workstation INFO - core.main (18:08:58.601) - MainThread (11092): Using Python version 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:01:55) [MSC v.1900 32 bit (Intel)] INFO - core.main (18:08:58.602) - MainThread (11092): Using comtypes version 1.1.7 INFO - core.main (18:08:58.602) - MainThread (11092): Using configobj version 5.1.0 with validate version 1.0.1 INFO - synthDrivers.espeak.SynthDriver.__init__ (18:08:58.824) - MainThread (11092): Using eSpeak NG version 1.51-dev INFO - synthDriverHandler.setSynth (18:08:58.872) - MainThread (11092): Loaded synthDriver espeak INFO - core.main (18:08:58.873) - MainThread (11092): Using wx version 4.0.3 msw (phoenix) wxWidgets 3.0.5 with six version 1.12.0 INFO - brailleInput.initialize (18:08:58.874) - MainThread (11092): Braille input initialized INFO - braille.initialize (18:08:58.874) - MainThread (11092): Using liblouis version 3.16.1 INFO - braille.initialize (18:08:58.876) - MainThread (11092): Using pySerial version 3.4 INFO - braille.BrailleHandler.setDisplayByName (18:08:58.880) - MainThread (11092): Loaded braille display driver noBraille, current display has 0 cells. INFO - core.main (18:08:59.010) - MainThread (11092): Java Access Bridge support initialized INFO - _UIAHandler.UIAHandler.MTAThreadFunc (18:08:59.018) - _UIAHandler.UIAHandler.MTAThread (11484): UIAutomation: IUIAutomation6 ERROR - globalPluginHandler.listPlugins (18:08:59.139) - MainThread (11092): Error importing global plugin translate Traceback (most recent call last): File "C:\Users\miet\AppData\Roaming\nvda\addons\translate\globalPlugins\translate\__init__.py", line 31, in import mtranslate File "C:\Users\miet\AppData\Roaming\nvda\addons\translate\globalPlugins\translate\mtranslate\__init__.py", line 2, in from .core import translate File "C:\Users\miet\AppData\Roaming\nvda\addons\translate\globalPlugins\translate\mtranslate\core.py", line 36, in import html.parser ModuleNotFoundError: No module named 'html.parser'
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "globalPluginHandler.pyc", line 23, in listPlugins File "importlib\__init__.pyc", line 127, in import_module File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "C:\Users\miet\AppData\Roaming\nvda\addons\translate\globalPlugins\translate\__init__.py", line 34, in logHanaler.log.exception("Failed to initialize translate addon", e) NameError: name 'logHanaler' is not defined INFO - core.main (18:08:59.206) - MainThread (11092): NVDA initialized WARNING - characterProcessing.SpeechSymbols.load (18:08:59.307) - MainThread (11092): Invalid line in file C:\Program Files (x86)\NVDA\locale\en\symbols.dic: ∁ complement of the set none INFO - external:globalPlugins.remoteClient.GlobalPlugin.on_connected_as_slave (18:08:59.384) - MainThread (11092): Control connector connected WARNING - fileUtils.getFileVersionInfo (18:09:03.748) - MainThread (11092): Invalid or unavailable version info attribute for 'C:\\Program Files (x86)\\ELTEN\\elten.exe': ProductName INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo (18:09:03.825) - MainThread (11092): Developer info for navigator object: name: 'ELTEN' role: ROLE_UNKNOWN roleText: None states: STATE_FOCUSABLE, STATE_FOCUSED isFocusable: True hasFocus: True Python object: Python class mro: (, , , , , , , , ) description: None location: RectLTWH(left=644, top=295, width=640, height=480) value: '' appModule: <'appModuleHandler' (appName 'elten', process ID 2676) at address 5de8510> appModule.productName: None appModule.productVersion: '1, 0, 0, 1' TextInfo: windowHandle: 5769516 windowClassName: 'RGSS Player' windowControlID: 0 windowStyle: 348782592 extendedWindowStyle: 256 windowThreadID: 11652 windowText: 'ELTEN' displayText: '' IAccessibleObject: IAccessibleChildID: 0 IAccessible event parameters: windowHandle=5769516, objectID=-4, childID=0 IAccessible accName: 'ELTEN' IAccessible accRole: ROLE_SYSTEM_CLIENT IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE, STATE_SYSTEM_VALID (1048580) IAccessible accDescription: None IAccessible accValue: None