YASR ("Yet Another Screen Reader") - моя попытка создать
нетребовательный к ресурсам, переносимый скрин-ридер (программу,
читающую содержимое экрана). Программа работает, запуская оболочку
(shell) в псевдотерминале (pty), и перехватывая весь ввод/вывод
пользователя. Содержимое экрана определяется по кодам и тексту,
выдаваемым на дисплей. Таким образом, программа не использует
линуксизмов вроде /dev/vcsa0 и не обязана работать от имени
суперпользователя. Единственное требование - пользователь должен иметь
доступ к синтезатору речи. Yasr разрабатывался для GNU/Linux, но я
пробовал перенести его под FreeBSD. После небольшой переделки он
должен работать и на других Юникс-подобных операционных системах.

Разработка Yasr еще продолжается, но, как мне кажется, им уже вполне
можно пользоваться, по крайней мере, в связке со Speak-out. Кроме
того, Yasr напрямую поддерживает DEC-Talk, DoubleTalk, Braille 'n
Speak, и Apollo, хотя, чтобы эти синтезаторы работали как задумано,
предстоит еще поработать. Однако, он так же может работать с
серверами, написанными для Emacspeak.

Инструкции по установке изложены в файле INSTALL.

По умолчанию, yasr.conf копируется в /usr/local/share/yasr. Если вам нужен собственный, нестандартный конфигурационны файл для yasr, скопируйте yasr.conf в свой домашний каталог как .yasr.conf, и отредактируйте его по своему усмотрению. ~/.yasr.conf считывается в первую очередь. Это файл содержит все привязки горячих клавиш и настройки. Вы можете изменить их, отредактировав файл. Большую часть параметров теперь можно изменить непосредственно из программы.

В настоящее время yasr поддерживает две расклядки горячих клавиш, одну
- для "режима просмотра" (для просмотра экрана), и вторую - для
стандартного режима. Привязки клавиш, определенные для стандартного
режима проверяются независимо от того, в каком режиме работает
пользователь - в режиме просмотра или в стандартном режиме. Но в
первом случае сперва проверяестя раскладка для режима просмотра. Ниже
следует список клавиш и действий, назначенных для них по умолчанию. В
случае, если названию клавиши предшествует[n], пред нажатием клавиши
может быть набрано число. 

-- Режим просмотра --

пробел: озвучить позицию курсора
^: перейти к первому символу в строке и произнести слово.
$: перейти к последнему символу в строке и произнести слово.
[n]b: произнести предыдущий символ, или перейти на n символов влево.
[n]c: произнести символ, или перейти к символу, занимающему позицию n
   в текущей строке и произнести его.
[n]d: произнести следующий символ, или перейти на n символов вправо.
e: прочитать текст от курсора до нижнего края экрана.
f: искать текст на экране.
<: искать в тексте от курсора до верхнего края экрана, используя
   введенную прежде строку поиска.
>: искать в тексте от курсора до нижнего края экрана, используя
   введенную прежде строку поиска.
[n]k: прейти на одну (или n) строку вверх и прочитать ее (в настоящее
   время то же, что и стрелка-вверх).
[n]l: прочитать текущую строку, или перейти к строке n и прочитать ее.
[n]m: прейти на одну (или n) строку вниз и прочитать ее (в настоящее
   время то же, что и стрелка-вниз).
n: пропустить (передать приложению напрямую).
t: читать текст от верхнего края экрана до курсора.
w: прочитать экран целиком.
z: перейти к началу предыдущего слова и произнести его.
x: перейти к началу следующего слова и произнести его.
[n]стрелка-вверх: прейти на одну (или n) строку вверх и прочитать ее
   (в будущем сделать так, чтобы по нажатию стрелки вверх-вниз программа,
   по желанию пользователя, могла читать слово или символ вместо строки).
[n]стрелка-вниз: прейти на одну (или n) строку вниз и прочитать ее.
[n]стрелка-влево: перейти назад на один (или n) символ и произнести его.
[n]стрелка-вправо: перейти вперед на один (или n) символ и произнести его.
(: перейти к предыдущему параграфу.
): перейти к следующему параграфу.
`: прочитать ASCII код текущего символа.

** стандартный режим ** (эти клавиши работают так же в режиме просмотра)

ctrl-a: произнести позицию курсора с точки зрения приложения.
ctrl-l: произнести текущую строку.
ctrl-n: пропустить.
ctrl-x: очистить речевой буфер.
alt-b: произнести предыдущий символ.
alt-c: произнести текущий символ.
alt-d: произнести слово.
alt-e: читать текст от курсора жо нижнего края экрана.
alt-i: перезапустить синтезатор.
alt-k: произнести предыдущую строку.
alt-l: произнести текущую строку.
alt-m: произнести следующую строку.
alt-r: включить или выключить режим просмотра.
alt-t: читать текст от верхнего края экрана до курсора.
alt-w: читать экран целиком.
alt-x: остановить речь. как ctrl-x, но синтезатор будет молчать, пока
   пользователь не нажмет какую-нибудь клавишу (например, нажатие
   alt-x во второй раз запустит речь снова).
ctrl-alt-k: мастер клавиатуры.  Позволяет пользователю перемещать,
   копировать, или удалять привязки горячих клавиш, не покидая yasr.
ctrl-alt-o: Меню настроек.  Позволяет пользователю менять настройки
   yasr, не выходя из него.
ctrl-alt-s: сохранить настройки на диск.
alt-enter: Отключить yasr.  Программа молчит и игнорирует нажатия
   горячих клявиш в этом режиме.
	Нажмите повторно, чтобы задействовать yasr вновь.
	Примечание: эта привязка определена в разделе [options] как
	"DisableKey".

Предложения, патчи и тому подобное приветствуются.

   -Michael P. Gorse <mgorse@users.sourceforge.net>
