Pull to refresh

Клавиатурная раскладка «рус-лат» с совместимыми знаками препинания

Reading time6 min
Views35K
Добавлю свой вклад в тему клавиатурных раскладок, регулярно появляющихся в статьях. Проверено с 2003 г. .

Некоторая проблема очень новаторских смен раскладок — в неподдержке раскладок в материальном внешнем мире — нет под рукой клавиатур с нарисованными буквами раскладки. Поэтому энтузиастов держат как отсутствие подходящей, так и наличие других раскладок на клавишах. Нейтрализовать эту удвоенную останавливающую силу можно, использовав силы по направлению их действия, что успешно выполняют фонетические раскладки JCUKEN и ЯВЕРТЫ.

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

Похожие статьи, в которых рассматриваются «глобальные» замены раскладок: все символы.
* "Фонетическая раскладка клавиатуры JCUKEN." ("Преимущество фонетической раскладки в том, что она очень быстро изучается, если изучена раскладка, на основе которой она сделана.")
* "Устаревшая раскладка QWERTY против Apple и других изобретателей." ("… В чем причина? Наверное, в том, что армия пользователей стандартной QWERTY не готова переучиваться, также, как и компании не готовы жертвовать текущей производительностью труда, чтобы перейти на новый тип клавиатуры, которая, к тому же не является общепринятым стандартом. Этот пример показывает, что стандарты, какими бы устаревшими они не были, зачастую побеждают лучшие технические решения.")

Данную раскладку я сделал и использовал уже очень давно, года с 2003, начиная с тех пор, когда мне окончательно надоело помнить или следить, в каком регистре находится клавиатура, печатая знаки препинания. Зачем следить, если можно принять правило, что знак всегда на одном месте, не «скачет» по клавишам по не зависящим от него причинам? Как ни странно, получившаяся кодировка была выведена не в результате долгих экспериментов, а исходя из расчёта, а затем сразу прижилась (некоторые колебания были только в плане, не опустить ли заодно вниз знаки "<" и ">"). Сначала были наклеены 11 изменений на свою клавиатуру для памяти; затем, когда надписи стёрлись, оказалось, что без них не менее удобно обходиться — и без того легко запомнить несколько перемещённых символов.

Неудобство возникает только при подходе другого человека к перестроенной раскладке (в Windows раскладка меняется только после запуска *.reg-файла реестра и перезагрузки системы). Но это не очень критично, потому что затрагиваются только знаки препинания и только в латинском регистре. Обычно в 2 словах можно объяснить идею: всё расположено, как в русском регистре. Некоторые сложности остаются с уникальными для латинского регистра знаками — они, действительно, перемещены, исходя из моего удобства, но это всего лишь 7 символов. В общем, пользоваться удобно, если рабочее место компьютера — индивидуальное, а сторонние посетители — редкие гости. (Возможно, реестр можно кастомизировать под разных юзеров — не пробовал, надобности не было, обычно менял ветки реестра текущего юзера и общую.)

Перечислю правила, по которым раскладка была построена.

1. Не трогать слишком много клавиш; оставить все буквы, цифры и символы в русском регистре на местах.
1.а) Символы в латинском регистре по возможности не перемещать.
2. В латинском регистре поставить все символы так, как они стали установлены в русском (строго, потому что ради этого всё затевается).
3. На места перемещённых символов поставить удаляемые, исходя из собственных удобств (о них позже).

На рисунке отмечены разными цветами клавиши знаков препинаний, проблемные клавиши знаков препинаний со «скачущими» знаками и уникальные для латинского регистра символы. Пока что изображено стандартное расположение символов. На клавише слева — латинский регистр, справа — русский. Вверху — верхний регистр.



Никак не выделены: буквы и цифры. (Для всей «химии» остаются спецсимволы.)
Зелёный фон — «счастливые совпадения» специальных символов в русской и латинской раскладках. Их не следует трогать и перемещать, они соответствуют стандартам своих раскладок (правда, подумав, я не стал следовать этому правилу строго).
Голубой фон: символы в русской раскладке, которые условились не перемещать. Теперь к ним на латинский регистр перемещаем такие же символы, упростив правила набора: в любом языковом регистре на клавише будет один и тот же символ. Поэтому слева от голубых полей появляются сиреневые: на них будут другие символы, вытесненные с красных полей. На этом этапе оказалось не всё так безоблачно: появились несколько рабочих вопросов (поля, выделенные красной рамкой).

4. Что делать со знаком номера в русском регистре? Вопрос решён в пользу наличия знака "#" в обеих регистрах, во вред знаку номера: он единственный юникодовский небуквенный символ, поэтому о его наборе можно позаботиться в специальных программах (Word). (Такое решение вряд ли устроило бы гуманитариев, но правило 2 важнее, а знак "#" дороже.)
5. К собственным удобствам относится:
5.a) часто приходится набирать "/", а из нижнего регистра он исчез, поэтому В нижнем русском регистре ставим его, а не "\", а в верхнем — "\", нарушая правило 1; в латинском на этой же клавише — то же самое по правилу 2;
5.b) чаще приходится писать теги, чем спецсимволы "|", "&", поэтому ставим угловые скобки в нижний регистр, нарушая правило 1.а. (Тоже решение, не сильно устраивающее гуманитариев — им это правило будет безразличным, поэтому лишним. Но мне — не лишнее: я попробовал в своё время недели 1-2 понабирать в традиционном расположении "<" и ">" — заметно менее удобно.)
5.с) Чаще применяется "$", чем "^" или "@" (были времена Перла), поэтому ставим его в нижний регистр;
5.d) Знак "'" лучше оставить на своём месте, соблюдая правило 1.а.

Получается раскладка, изображённая на следующем рисунке. Места перестановок изображены на серо-голубом фоне.



Переставленных символов — 9, из них 2 — между верхним и нижним регистрами, один символ номера удалён. Могло бы быть и 5 перестановок всего, но в минимальности не было цели. Цель — баланс удобства и минимальности перестановок.

Имеем достоинства:
*) меньше исправлений знаков препинания в текстах, в которых часто меняется языковый регистр;
*) переход обратно на традиционные раскладки не болезненный, потому что касается только части спецсимволов;
*) перестановки почти не надо запоминать: знаки "<" и ">" подсказывают сами за себя, "$" похож на «Ж», "/" и "\" только переставлены между регистрами; остаётся 4 символа, которые надо запомнить (или наклеить на клавиатуру). Да и то, в расположении мнемоника такая: более частые символы "&" и "@" — ближе к «Shift», логические символы "|", "&" — на знаках "<" и ">".

После достоинств, остаются логичные недостатки:

*) нет практики запоминания английского расположения спецсимволов (особенно даёт знать запятая);
*) появляется привычка к «удобной» клавиатуре;
*) новое расположение для 7 символов не написано на клавиатуре;
*) для гуманитариев не понятно перемещение знаков "<" и ">" вниз, а "@" — вверх;

Также, можно порассуждать, что есть дублирование "/" на основной и серой клавиатурах в одном регистре, но это же самое есть и в русской, и в английской раскладках, а на ноутбуках, где доступ к серой клавиатуре — по «Fn + ...», такая «неоптимальность» исчезает.

Ещё, имеются не совсем правильно написанные программы (переключатели раскладок и тренажёры), обращающиеся не к раскладке в реестре, а предполагающие фиксированную раскладку. Но такие всё реже встречаются. Punto Switcher избавился от своей самоуверенности более года назад, версия 3.1 (раньше приходилось патчить), а устаревший Keyboard Ninja изначально правильно работал.

Как сделать драйвер раскладки (Windows любой версии).


Существуют специальные программы, позволяющие задать любое расположение символов на клавишах. Для Windows они дают файл kbd*.dll, который есть драйвер, который начинает работать после перезагрузки системы, если расположен в каталоге \system32\. Имя файла не должно совпадать с аналогичным драйвером раскладки kbdus.dll, kbdru.dll и с другими, имеющимися в системе. В Линуксе тоже имеются свои программы или просто текстовые файлы определения раскладок.

В архив сложены готовые драйверы раскладок и старая бесплатная программа создания собственных раскладок, могущая работать от Win98 до, по крайней мере, WinXP. После сохранения переименовать расширение файла из «nkl» в «dll».

Как установить и удалить драйвер раскладки (Windows любой версии).


1. Скачать 4 файла: 2 файла раскладок KBDRUs.dll и KBDUSs.dll, и 2 исполняемых файла реестра — установка и удаление новой раскладки.
2. Настроить систему на использование 2 языков: русского и английского-US (приоритетность не важна).
3. Расположить KBDRUs.dll и KBDUSs.dll в каталоге $System root$\system32\.
4. Выполнить instLayoutKbd.reg.
5. Перезагрузить систему Windows.

Для возврата к стандартным раскладкам:
(Предполагается, что системные файлы kbdus.dll, kbdru.dll не были удалены из $System root$\system32\ .)

1. Выполнить UNinstLayoutKbd.reg.
2. Перезагрузить систему Windows.

(Проверялось вплоть до Висты Home Edition, но не на Win7, но должно и там работать.)
Tags:
Hubs:
Total votes 9: ↑6 and ↓3+3
Comments8

Articles