Отправляет email-рассылки с помощью сервиса Sendsay

Screen reader JAWS for Windows Russian

[JFWRus] кукушка

Здравствуйте Михаил. Попытаюсь подробно описать как я ставил кукушку на версию
сорок пятого джоза.
Сначала полностью переустановите русификацию jaws 45.
Скопируйте все файлы кукушки в директорию jaws45,settings,rus.
Нажмите комбинацию Ctrl+Shift+0, для вызова диспетчера скриптов JAWS.

далее нажмите контрол f и найдите строки,начинающиеся со слова use и после последней
впишите

Use "cuckoo.jsb"

нажмите контрол s для компиляции.

Сразу после успешной компиляции у меня возникла ошибка загрузки скрипта.

суть её была в несовместимости версий. Мне помогло следующее:

Не закрывая диспетчер скриптов нажмите Ctrl+O

В открывшемся диалоге впишите:

cuckoo.jss

и нажмите Enter. Либо выберите файл <cuckoo.jss> из списка файлов.

Откроется второе окно с заголовком <JAWS Script Manager - [cuckoo.jss]>, в

котором будет текст со скриптами и функциями.

Скомпилируйте файл нажатием Ctrl+S и закройте окно комбинацией Ctrl+F4.

Оказавшись снова в окне <default.jss> попробуйте заново скомпилировать и

сохранить файл комбинацией Ctrl+S.

Вернуться к списку скриптов

Чтобы всё заработало наверное придёться заного поставить русификацию джоза.

Вообще я взял файлы кукушки из русика на jaws седьмой версии.

С уважением Павел.

pavel_m_***@m*****.ru

***
Это сообщение No3235
было разослано для 292 участников дискуссионного листа
[JFWRus] кукушка

Ответы:

Здравствуйте, уважаемые Леди и Джентельмены.
У меня появился вот какой вопрос, или, пожалуй, даже загадка:
При написании скриптов для приложения правовой базы данных обнаружилось, что
некоторые функции языка сценариев не работают. В частности, функции
перемещения PC курсора. Стоит этот разнесчастный PC как вкопанный, на одном
месте. Чтобы проиллюстрировать это приведу пример неработающего скрипта с
одной из таких функций. На него назначена горячая клавиша, чтобы запускать
скрипт.
Script Proba ()

;PC курсор находится в начале строки текста,

;состоящей из нескольких слов.

RouteInvisibleToPc ()

NextWord ()

SayWord ()

RoutePCToInvisible ()

EndScript

Если убрать из скрипта PC курсор, оставив только невидимый, то по горячей
клавише скрипт читает слово за словом, пока не залезет в соседнее окошко.

Script Proba ()

;Невидимый курсор находится в начале строки текста,

;состоящей из нескольких слов.

InvisibleCursor ()

NextWord ()

SayWord ()

EndScript

Другие функции перемещения, такие как NextWord, NextParagraph и прочие тоже
не работают с PC курсором.

В чем здесь загадка? Хотелось бы узнать Ваше мнение.

С уважением, Шварц Кирилл, эсквайр:)

***
Это сообщение No3240
было разослано для 292 участников дискуссионного листа
[JFWRus] Не передвигается курсор

Здравствуйте, Кирилл.

Здесь следует хорошо понимать разницу между PC-курсором и джоз-курсором или невидимым
курсором.
Возможности перемещения PC-курсора весьма ограничены. Фактически он может перемещаться
только в тех элементах управления, где
предусмотрен текстовый ввод (другое название этого курсора -- "системная каретка"
по аналогии с кареткой печатной машинки). К
таким элементам относятся, например, Edit, RichEdit. Еще системная каретка перемещается
в диалогах по нажатии клавиши Tab . Ну и
остались еще меню -- здесь работают NextLine, PriorLine, но , разумеется, не
работают NextParagraph и т.п.
То есть PC-курсор будет перемещаться только тогда, когда текущее приложение способно
обработать клавиатурный ввод. Фактически, вы
не можете получить от PC-курсора больше, чем те возможности, которые дает ему
само приложение (и джоз тут не виноват).

Для джоз-курсора и невидимого курсора таких ограничений нет. Они могут находится
в любом месте экрана.

С уважением, Анатолий.

***
Это сообщение No3244
было разослано для 292 участников дискуссионного листа
[JFWRus] Re: Не передвигается курсор

Ответить   "i_chay" (#521825)

 

Здравствуйте Леди и Джентельмены, добрый день Анатолий.
Здравствуйте, Кирилл.

Здесь следует хорошо понимать разницу между PC-курсором и джоз-курсором или
невидимым
курсором.
Возможности перемещения PC-курсора весьма ограничены. Фактически он может
перемещаться
только в тех элементах управления, где

Спасибо Вам за разъяснение. В приложении, о котором идет речь в окне,
содержащем большой текстовый фрагмент, системный курсор перемещается лишь
посимвольно и построчно, в начало и в конец строки, а также на экран вверх и

на экран вниз. Слова, предложения, параграфы там не работают.
Значит ли это, что jaws не будет поддерживать некоторые функции по
перемещению системного курсора в этом приложении из-за того, что само
приложение таких действий не предусматривает?
С уважением, Шварц Кирилл. приложение не

***
Это сообщение No3248
было разослано для 292 участников дискуссионного листа
[JFWRus] Re[2]: Не передвигается курсор

Здравствуйте, Кирилл.
Вы пишите:

При тех уточнениях, которые вы сделали в своем сообщении, причина неработоспособности,
скорее всего, в другом (но улучшить
ситуацию все равно проблематично).
Прежде всего хотелось бы знать класс окна, о котором идет речь.
В общем случае за перемещение по словам, предложениям и параграфам отвечает джоз
(просто для разных приложений может быть
использован разный механизм реализации этих действий). Судя по вашим словам,
системный курсор может быть помещен в любую позицию
текста (например, при посимвольном движении), то есть отрабатываются обычные
нажатия клавиш (джоз передает их приложению и оно
делает то, что надо). Но когда нужно перейти, скажем, на следующее предложение,
то нужно определить начало этого предложения и
поместить туда системный курсор. Приложение, разумеется, такую опцию не поддерживает,
но и джоз в какой-то момент (то ли при
получении текста, то ли при позиционировании курсора) не может выполнить свою
работу.
Проще говоря, джоз не дружит с этим классом окон. Пример, похожего поведения
джоза - это текстовый редактор abiword.
Вы можете попробовать такой подход: переключиться на джоз курсор, подтянуть его
к системному, перейти на следующее предложение и
щелкнуть там левой кнопкой мыши (один или два раза -- определяется опытным путем).
Разумеется, что это будет работать в пределах
того фрагмента текста, который умещается на экране.

С уважением, Анатолий.

***
Это сообщение No3250
было разослано для 292 участников дискуссионного листа
[JFWRus] Re[3]: Не передвигается курсор

Ответить   "i_chay" (#521982)

 

Здравствуйте Анатолий.
Попробовал подтягивать системный курсор к мышиному, и выяснил, что это
удается двойным щелчком левой кнопки. При использовании jaws курсора
получается скакать по предложениям и параграфам в пределах видимого окна.
Что касается класса, то в приложении он определен как TnscEditor. Я
сопоставил его с классом ReadOnly.
В данном окошке приложения выводится большой текст, который можно
прокручивать мышкой или PageUp или PageDown. в этом окошке можно нажать
Enter и тогда строчки документа раздвигаются и в этом месте можно написать
свой комментарий (пожалуй, уже не похоже на класс "только чтение").
Комментарий этот оказывается в том же окошке, это я определил по
контрольному идентификатору.
Если при включенном PC курсоре нажимать сочетания CtrlUp CtrlDown или
AltUp AltDown, то
всегда читается первый полный абзац или первое полное предложение на экране.
Попробовал менять классы окон и вообще удалить этот класс, но результат
никакой. Да и подходящих в списке классов
ничего подходящего к тому же нет.

Благодарен за любые идеи. С уважением, Шварц Кирилл.

***
Это сообщение No3258
было разослано для 292 участников дискуссионного листа
[JFWRus] Re[4]: Не передвигается курсор

Здравствуйте, Кирилл.

Вы пишите:

В ReadOnly элементах джоз (5.00) как-то не очень хорошо читает по предложениям
и абзацам (точнее, вообще не читает).
Попробуйте Multiline Edit.

Вообще-то надо начинать с того,
какие действия вы хотите совершать в этом окне. Может, кроме построчного чтения,
там по логике работы программы больше ничего и
не надо делать.

Если же очень надо перемещение по предложениям (плюс чтение),
То вам нужно создать три функции SaySentence(), NextSentence (), PriorSentence().
Те их варианты, которые входят в джоз, являются закрытыми, то есть не имеют исходных
кодов.
Для вашего приложения вы должны их описать сами.
Простой вариант - это построчное перемещение и обработка строк функциями GetLine,
NextLine и проверка на наличие знака окончания
предложения(.!?...) Затем функциями NextCharacter и NextWord перемещаете системный
курсор в нужную позицию.
Приблизительно так же можно сделать функцию SaySentence. Собираете в строковую
переменную последовательно все строки, начиная с
той, где встречается, например, "точка", и заканчивая той, где опять встречается
"точка". Потом функцией StringSegment получаете
ту часть текста, которая находится между "точками". Особый случай -- первое предложение
в тексте.
С уважением, Анатолий.

***
Это сообщение No3263
было разослано для 292 участников дискуссионного листа
[JFWRus] Re[5]: Не передвигается курсор

Ответить   "i_chay" (#522331)

 

Добрый день, уважаемая рассылка, здравствуйте Анатолий.
Выяснил следующее свойство своего приложения: оказывается, команды CtrlLeft
CtrlRight работают, если только системный курсор не находится на первом
заголовке документа.

Выяснил это случайно, когда обкатывал скрипт, перемещающий системный курсор
посимвольно от слова до слова. Могу с уверенностью сказать, что стандартные
клавиатурные команды, чтения следующего и предыдыдущего слова выполняет
обычный скрипт по умолчанию, т.к он произносит пустые строки, а мой скрипт
этого не делает.Если есть соображения, буду благодарен.
Интереса ради привожу текст своего скрипта:
Script Proba3 ()

var

int F1StrLenght

PCCursor ()

;сюда нужно поставить функцию

;эхо экрана=никакие

Let F1StrLenght = StringLength (GetWord ())

SayWord ()

;Передвижение системного курсора на следующий символ после слова

While !F1StrLenght == 0

NextCharacter ()

Let F1StrLenght = F1StrLenght - 1

EndWhile

;Минуя пробелы и знаки абзацев

While GetCharacterValue (GetCharacter ()) == 0 || GetCharacter() == " "

NextCharacter ()

EndWhile

;здесь нужно вернуть эхо экрана

EndScript

С уважением, Шварц Кирилл

***
Это сообщение No3265
было разослано для 292 участников дискуссионного листа
[JFWRus] Re[5]: Не передвигается курсор

Здравствуйте, Павел.

Вы писали среда 1 марта 2006 г., 13:40:52:

Спасибо. Моя ошибка состояла в том, что я писал:

use "cuckoo.jss",

А надо было так, как вы сейчас написали. Теперь всё в порядке.

Ответить   Михаил Духонин (#521725)