[Homeros] О emacspeak

Nikita nikita-mailings на rambler.ru
Ср Янв 21 12:10:25 MSK 2015


Здравствуйте, Michael Pozhidaev.

> вопрос к мастерам по Windows, пожалуйста! я не собираюсь
> докапываться, но просто хочу знать реальность на текущий момент: как
> производится выделение фрагмента текста?

Отчего же, спрашивайте хоть вытрясая всю душу. Я считаю, что чем о больших 
реализациях иметь представление, тем проще придумывать лучшую на базе 
синтеза.
В среде Windows есть три уровня абстракции: операционная система, программа 
экранного доступа и отдельно взятый редактор, в котором в настоящий момент 
идёт работа.
1. У самой Windows есть совокупность глобальных навигационных команд для 
перемещения по тексту. При добавлении к ним Shift происходит перемещение с 
выделением.
Вправо и влево - по символам.
Вверх и вниз - по строкам (здесь и далее, под строкой понимается видимая на 
экране строка, а не текст до символа разрыва).
CTRL+Вправо и CTRL+Влево - по словам, хотя понимания того, что такое слово в 
отдельных редакторах различается. В частности, где-то пунктуационный символ 
является отдельным словом, а где-то нет.
CTRL+Вверх и CTRL+Вниз - по абзацам, хотя с пониманием того, что такое 
абзац, примерно также как и со словами.
Home и End - переход от позиции курсора к началу или концу строки.
CTRL+Home и CTRL+End - переход от текущей позиции курсора к началу или концу 
текста в поле ввода.
PageUp и PageDown - переход на некоторое количество строк вверх или вниз.
Из концептуальных проблем можно отметить невозможность выделения двух 
участков текста, потому что все эти команды позволяют выделять лишь один 
последовательно расширяющийся участок текста, а при нажатии какой-либо 
навигационной команды при выделенном тексте, выделение снимается. То есть 
когда захотите перейти к другому участку, чтобы его тоже выделить, потеряете 
выделение первого.
Если работать с мышью, то там можно накликать выделение нескольких областей, 
но с клавиатуры штатно это не делается.
2. Отдельные программы экранного доступа предлагают дополнительную 
функциональность для выделения текста, которая, как правило, представляет 
собой некую попытку повторения выделения блока по маркерам, хотя реализация 
там везде страдает.
3. Отдельные текстовые редакторы и процессоры имеют свой внутренний 
инструментарий для выделения текста. Здесь бывают совершенно разные 
реализации, в том числе и то, к чему привыкли пользователи eMacs.
Успехов. Никита. 



Подробная информация о списке рассылки Homeros