Zalogowany jako: gość

Forum

Wątek: Integracja z NVDA

Wróć do listy wątków

1 z 3

Następna

1 z 41: pajper

Zgodnie z dawniejszymi zapowiedziami, mogę potwierdzić początek projektu integracji Eltena z czytnikiem NVDA.
Projekt robiony jest na razie pobocznie, więc do pierwszej bety pewnie nieco czasu minie, ale już teraz pierwsze efekty widzę, a więc zapowiedź piszę.

Celem jest stworzenie dodatku do NVDA, który pozwoli na komunikację z Eltenem w celu zrobienia tego, czego zrobić nie można inaczej: przewijania kursora podczas pisania, wyciszania NVDA w polach tekstowych, respektowania ustawień NVDA co do interpunkcji, obsługiwania niektórych skrótów klawiszowych, wyświetlania interfejsu Eltena na linijkach brajlowskich.

Na moment obecny udało mi się dość niestabilnie zmusić NVDA, by kursor Eltena poruszał się w miarę czytanego tekstu. Dość niestabilnie, bo NVDA potrafi się wysypać w losowych momentach, ale wstępnie to działa, a więc projekcik zapowiadam.
Kiedy? Nie wiem, ale postaram się pierwszą betę wydać jeszcze w tym albo na początku przyszłego roku.

Najważniejszym założeniem jest integracja pól tekstowych.
Dotyczy to zarówno przewijania tekstu, jak i ujednolicenia skrótów. Teraz np. Czytaj Wszystko w Eltenie to F4, w NVDA zaś NVDA+A lub strzałka w dół (zależnie od układu klawiatury).
Wprowadza to niepotrzebne zamieszanie.
Nie mamy także skrótu do odczytu obecnego obiektu i podobnych rzeczy. To wszystko postaram się obsłużyć.

Dotyczy to także, choć w dalszej perspektywie, kursora NVDA i respektowania jego miast Eltena ustawień (jak echo klawiszy czy słów, słowników i tak dalej).

@edit
Oczywiście nadal pozostanie możliwość używania syntezy SAPI, choć bez zapowiadanych nowości.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
01.10.2019 21:10

2 z 41: Paulinux

Jeśli tylko będę mogła pomóc jako tester, bardzo chętnie to zrobię
ENTJ
01.10.2019 21:14

3 z 41: pates

ja także chętnie potestuję
Kocia sierść rozwiązuje wszystkie problemy!
01.10.2019 21:56

4 z 41: Zuzler

Oooooch, ooooorgaaaaaaaaaazm!!!!!

01.10.2019 23:25

5 z 41: mikolajholysz

A może zrobić by tak, żeby upublicznić api, po którym Elten gada z dodatkiem? Znalazłyby się pewnie gry i podobne, które by chciały coś takiego wspierać. Może w ogóle od innej strony do tego podejść i zaproponować dodanie odpowiednich unkcji do rdzenia / controller clienta, przynajmniej w części?
w związku z przesiadką na Maca, prawie mnie tutaj nie ma. Inne sposoby kontaktu w wizytówce.
01.10.2019 23:46

6 z 41: pajper

NVDA nie chce przyjmować takich funkcji do CC. Było kilka działających (już nie) pull requestów, plus wersja NVDA JP wspiera niektóre takie funkcje od dawna.
Z niezrozumiałej dla mnie przyczyny NVDA nie jest zainteresowane czymś takim i propozycje takie odrzuca.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
01.10.2019 23:47

7 z 41: nuno69

Aaa NVDa, NVDA, a reszta może się wypchać. Cóż, na jedno rozumiem.
- "Intelligence and wisdom is like jam. The less you have, the harder you're trying to spread it arround." - French proverb
02.10.2019 15:49

8 z 41: Zuzler

No to wiesz Nuno, nikt Ci nie broni zrobić tego dla innego czytnika.

02.10.2019 18:34

9 z 41: daszekmdn

Jaws jak i Elten korzystają z Sapi, więc na jedno wyjdzie. Z resztą jak programista nie mający Jawsa ma pod niego coś napisać? Nie było by to do zrealizowania z uwagi na brak możliwości debugowania tj. sprawdzania błędów.

03.10.2019 00:26

10 z 41: zvonimirek222

nie do końca daszu!
Elten z jawsem używałby swojej biblioteki jfwapi.dll, o ile mnie mózg nie opuszcza z tą nazwą.
Tego jaws używa do programów, jaki jest na przykład RS games po to, żeby się z serwerem móc komunikować.
--Cytat (daszekmdn):
Jaws jak i Elten korzystają z Sapi, więc na jedno wyjdzie. Z resztą jak programista nie mający Jawsa ma pod niego coś napisać? Nie było by to do zrealizowania z uwagi na brak możliwości debugowania tj. sprawdzania błędów.

--Koniec cytatu
Student studentowi wszystko
03.10.2019 08:55

11 z 41: tomecki

Do Nuna. Jedni priorytetyzują NVDA kosztem Jawsa, inni Androida kosztem Apple.

03.10.2019 12:48

12 z 41: zvonimirek222

Tylko niestety fakt jest faktem, że jaws lepiej sobie radzi czasami z UIA i jest z nią szybszy.
Zacytuję tutaj użytkownika NVDA z Gruzji:
Jestem wymuszony czasami przełączyć się na jawsa, bo NVDA z UIA zamula.
Niestety, czasami implementacja UIA w NVDA jest dobra, a czasami działa ona jak chce.
--Cytat (tomecki):
Do Nuna. Jedni priorytetyzują NVDA kosztem Jawsa, inni Androida kosztem Apple.

--Koniec cytatu
Student studentowi wszystko
03.10.2019 16:35

13 z 41: tomecki

Tak samo można dyskutować nad wyższością IOs nad Androidem, ale to nie od tego wątek. To był tylko przykład na to, że generalnie często tworzy się rozwiązania pod jakąś konkretną platformę, nie chciałem jednak oceniać żadnej. Stwierdziłem tylko fakt i tyle.

03.10.2019 19:34

14 z 41: nuno69

No a jakby wyeksponować interfejs po COM? Wtedy byłoby fair. xD
- "Intelligence and wisdom is like jam. The less you have, the harder you're trying to spread it arround." - French proverb
04.10.2019 12:34

15 z 41: patrykkubaszczyk

ja czekam na dodatek, spoko pomysł,
a ja akurat z NVDA korzystam.
because I am now using mac as main comp, I will not come here too much.NEW
04.10.2019 18:12

16 z 41: pajper

Kilka badań, refleksji i eksperymentów, plus pytań i pomysłów.

Po pierwsze, głęboko pod maską NVDA jest sobie API do rozdzielania kolejek wymowy. To ono używane jest w polach tekstowych do przewijania tekstu.
Nie znam jednak bardzo dobrze źródeł NVDA, a jego używanie... no cóż...
Proste aliasowanie funkcji z poleceniem ustawiania globalnej zmiennej ELT_NVDAIsSpeaking powoduje crash NVDA w ciągu kilku minut z błędami w systemie audio, jednocześnie podskakując z użyciem CPU przez NVDA do 100 procent na rdzeniu. Why? I can't tell.

Dalej zauważyłem, że wszystkie syntezatory używane przez NVDA (SAPI4, SAPI5, 1Core, Espeak) mają podobną strukturę i można sprawdzić, czy on gada w banalny sposób, sprawdzając stan ich wyjścia audio. Działa to całkiem nieźle, ale ale...
Nie mam pojęcia, na ile jest uniwersalne. Nie wiem, czy dotyczy Vocalizerów, Aniów i wszystkich innych custom synthesizers.
Tu byłbym wdzięczny za pomoc w diagnostyce.



Co ciekawe, NVDA ma nieużywaną nigdzie, a w API zaimplementowaną opcję zmiany atrybutów tekstu w locie. Można na jedno zdanie zmienić wysokość, głośność, a nawet używany głos.
Działa to, co z zaskoczeniem stwierdzam, bardzo dobrze i bez słyszalnej przerwy. Można to wykorzystać w Eltenie, np. podobnie do Voice Overa zwiększając wysokość dla dymków i tego typu rzeczy. Do rozważenia.


Co do obsługi skrótów klawiszowych, np. skrótów odczytu w polach tekstowych Eltena, to jest gotowe i działa, jak NVDA przykazał. Mogę wcisnąć INSERT+A i słyszeć tekst od kursora.


Działa też ślicznie brajl. Jeszcze nie działa przewijanie tekstu na linijce, ale działać będzie, bo już odkryłem, jak to zrobić.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
10.10.2019 16:31

17 z 41: pajper

I jeszcze odnośnie Jawsa. Piszę w osobnym wpisie, by nie mieszać tematu.
Biblioteka jfwapi w ogóle na to nie pozwala. Podobnie do NVDACC, nie oferuje sprawdzenia, czy czytnik mówi.
Różnica jest taka, że NVDA jest open-source i dopisanie odpowiednich funkcji jest jak najbardziej możliwe.
Do Jawsa takiej możliwości po prostu nie ma.
#StandWithUkraine Shoot for the Moon. Even if you miss, you'll land among the stars.
10.10.2019 16:39

18 z 41: zywek

jakie ins+a przepraszam bardzo? U mnie to nie działa. U mnie działa ins+strzałka w dół

10.10.2019 16:48

19 z 41: nuno69

Bo masz destopowy układ @żywek
- "Intelligence and wisdom is like jam. The less you have, the harder you're trying to spread it arround." - French proverb
10.10.2019 16:51

20 z 41: zywek

A, OK.

10.10.2019 16:53

Wróć do listy wątków

1 z 3

Następna

Nawigacja


Copyright (©) 2014-2024, Dawid Pieper