bnlinux
Размер: 3.73 Мб
Загружено: 278
Просмотрено: 638
Опубликовоно: 2021-01-27
bnlinux - программа упростить Вашу работу с клавиатурой при наборе различных текстов.
Функции программы:
1. Озвучивание нажатия клавиш клавиатуры.
2. Авто завершение слов в графической оболочке рабочего стола (используется буфер обмена со стандартной комбинацией извлечения <Ctrl>+<V>.
3. Информирование об отсутствии введённого слова в словаре (информирование об опечатках)
4. Фиксация клавиши <Shift> для ввода знаков.
5. Автоматическое добавление пробела при выборе авто завершения слов из словаря.
6. Обработка знаков препинания (!?.) при вводе текста, в частности удаление авто пробела (см. п.5) и преобразование последующей строчной буквы в заглавную.
Первоначальный набор функций определяется набором параметров при запуск
СИНТАКСИС
sudo bnlinux [-b] [-f] [-s] [-p] [-z] [-d] [-v] [-?]
ОПИСАНИЕ
Программу необходимо запустить от имени суперпользователя sudo bnlinux .
Алгоритм работы программы.
Программа получает информацию о нажатой клавиши. С помощью файла /opt/bnlinux/local/alfavid.txt сопоставляется номер (местоположение символа в файле) нажатой клавишей с символом из файла. B Формируется набор символов(часть слова).
В режиме БН:
Происходить поиск сформированного набора символов в списке слов из файла /local/russ.txt с первого символа в строке. А в файл /tmp/bnlinux_sv происходить запись найденной строки и ещё пять строк следующих за ней из файла /local/russ.txt.
Специальные символы для программы и реакция на них.
Символы вводимые клавишами <пробел> и <Enter> приводят к сбросу сформированного набора символов.
Символ вводимый клавишей <Backspace> приводит к удалению последнего символа из сформировавшего набора символов.
Символы вводимые с помощью клавиш:<0>,<1>,<2>,<3>,<4>,<5> приводят к завершению вводимого слова из видимого списка и которое соответствовало номеру введенной строки. Фактически происходит помещение выбранного слова в буфер обмене, удаление символов из сформировавшего набора и введенного символа номера строки, т.е. от 0 до 5 соответственно.
Затем происходить вставка слова из буфера обмена путём эмуляции нажатия клавиш <Crtil>+<V>. В этой связи происходить порча содержимого Вашего буфера обмена.
Для отображения списка слов в среде рабочего стола Cinnamon используется панельный апплет горизонтального расположения. Апплет осуществляет мониторинг файл /tmp/bnlinux_sv и выводить его содержание на панель. Доступен выбор цвета букв и фона апплета, а также размер шрифта. Настройки осуществляются через стандартное окно настройки среды рабочего стола Cinnamon.
Апплет расположен в каталоге /usr/share/cinnamon/applets/bnlinux@bnabor.ru/
Режим ЗК
В режиме ЗК воспроизводиться звуковой файл из каталога /opt/bnlinux/local/sound/ в соответствии с кодом нажатой клавишей.
Режим ОРФО
В режиме ОРФО происходить поиск сформированного набора символов в списке слов из файла /local/russ.txt с первого символа в строке. В файл /tmp/bnlinux_sv происходить запись строки "ОПЕЧАТКА" и воспроизведение звука /opt/bnlinux/local/sound/VClovar.wav.
Специальные символы для режима и реакция на них.
Символы вводимые клавишами <пробел> и <Enter> приводят к сбросу сформированного набора символов. Символ вводимый клавишей <Backspace> приводит к удалению последнего символа из сформировавшего набора символов.
Режим SHIFT
Режим SHIFT служить для облегчения ввода знаков (!"№;%:?*)_+ следующим образом.
Нажмите клавишу <Pause>, апплет выводить подсказку "Для выхода нажмите <F12>. Или режимы: ЗК(вкл)<F6>, БН(выкл)<F5>, ЗНАК(вкл)<F9>, ОРФО(вкл)<F7>, SHIFT(выкл)<F8>. Продолжайте работу <1>..<0>", после чего нажав клавишу <3> получем знак номер № и подсказка исчезает. В английской раскладке клавиатуры получаем иные знаки.
Режим ЗНАК
Режим ЗНАК служить для формировании заглавной буквы после точки, знака восклицания и знака вопроса. В данном режиме после точки автоматически добавляется символ пробела и вводимая прописная буква заменяется на заглавную. Причём если до точки был добавлен автоматический пробел вставляемый при автозавершение слова в режиме БН, то он удаляется.
Режимы можно активировать с помощью ключей при запуске, а также включить и отключить необходимый режим с помощью функциональных клавиш: ЗК клавишей <F6>, БН клавишей<F5>, ЗНАК клавишей <F9>, ОРФО клавишей <F7>, SHIFT клавишей <F8>.
Для этого вам необходимо нажать клавишу <Pause> и нажать соответствующею функциональную клавишу. После чего на апплете отобразится информация об текущих активных режимов.
ФАЙЛЫ
/opt/bnlinux/local/alfavid.txt файл содержит символы в 8-битной кодировке Windows-1251(CP1251) русского языка. Положение конкретного символа в файле соответствует информации о нажатой клавиши клавиатуры
/opt/bnlinux/local/russ.txt файл содержит слова в 8-битной кодировке Windows-1251(CP1251) русского языка. Слова располагаются в алфавитном порядке.
/local/sound/ каталог содержит файлы формата .wav
/local/sound/info/ каталог содержит файлы формата .wav звукового информирования о переключении режимов
/tmp/bnlinux_sv файл служить буфером в среде рабочего стола Cinnamon для панельного апплета. Необходим для работы апплета и информирования пользователя.
/var/run/bnlinux.pid создаётся файл при запуске программы и удалится при завершение программы. Необходим чтобы работал один экземпляр программы.
ПАРАМЕТРЫ
-h
Короткая справка.
-v
Версия программы.
-b
активация режима автоматического завершение слов (БН)
-f
активация режима опечатка (ОРФО)
-s
активация режима звуковая клавиатура (ЗК)
-p
активация режима залипания <Shift>(ввода знаков ! и т.д.) (SHIFT)
-z
активация режима реакция на .!? (ЗНАК)
-d
Необходим для уточнения устройства ввода. По умолчанию программа использует первое устройство ввода в системе. Если у Вас ноутбук и используется внешняя USB клавиатура, то использование данного параметра ОБЯЗАТЕЛЬНО! Для удобства используйте следующий скрипт.
#!/bin/bash
r=$(ls /dev/input/ | grep "event*" | wc -l);
while [ $r != -1 ]
do
y=$(sudo input-events -t 0.1 $r );
if [[ $y == *"$1"* ]]; then
$(sudo /opt/bnlinux/bin/bnlinux -s -d /dev/input/event$r );
fi
r=$(( $r-1));
done
Вместо параметра -s для запуска режима ЗК, можно указать параметры [-b] [-f] [-p] [-z]
Для работы предложенного скрипта необходим пакет input-utils.
-k
Возможна завершение программы bnlinux и удаление файла /var/run/bnlinux.pid.
ЗАМЕЧАНИЕ
Будте внимательны, программа активно использует буфер обмена, для работы программы необходимо, чтобы операция вставки из буфера осуществлялся комбинацией <Ctril>+<V>!!!
SECURITY CONSIDERATIONS
При вводе с клавиатуры конфиденциальную информацию отключите программу в целях безопасности конфиденциальной информации.
АВТОРЫ
Поляков Дмитрий Владимирович <almaz-vil@list.ru>
GitHub: https://github.com/almaz-vil/bnlinux