Создаём свою «идеальную программерскую» раскладку или Недооценённый AltGr

*Примечание: чтобы в полной мере ощутить все преимущества новой «ка́стомной» раскладки, необходимо уверенно владеть десятипальцевым слепым вводом (иначе последующие действия не имеют никакого смысла).

Что здесь написано?

  • Осуждение QWERTY

  • Немножко об альтернативных раскладках

  • На чём печатаю Я

  • AltGr (правый Alt) и что с ним можно сделать

  • MSKLC: собираем раскладку

Шаг №1: Выбор базовой раскладки клавиатуры

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

Немного отсебятины: Я, как и все, изучая десятипальцевый слепой ввод, печатал на всем знакомой QWERTY-раскладке. В процессе использования, испытывался лютый дискомфорт (возможно нас таких и не очень много): уставал левый указательный палец, правый безымянный и мизинец (даже несмотря на то, что P — далеко не самый частотный символ в английском языке). Также было замечено, что пальцы при печати сильно вытягиваются — как бы пытаются уйти подальше друг от друга.

Чтобы ответить на вопрос, почему так происходит, я создал Excel-файл, в котором наглядно показана нагрузка на каждый символ, и добавил таблицу частотности букв английского языка (результат на скрине).

ad68ea1c17255a9bacc3db234883d26f.png

Вот здесь как раз всё встаёт на свои места: T находится довольно далеко от основной позиции пальцев, плюсом буквосочетания AT/TA, TE/ET, ST/TS, DT, CT, NU/UN, NI/IN, NO, ON заставляют пальцы вытягиваться. Также я отметил главную неприятную особенность QWERTY, о которой конечно-же многие знают — это то, что основным по нагрузке является на домашний, а верхний ряд. Про перегрузку левой или правой руки ничего говорить не буду, так как на планете есть как правши, так и левши, но для левшей у меня плохие новости: если посмотреть на клавиатуру, то можно заметить, что снизу вверх клавиши смещаются ВЛЕВО, что удобно лишь правой руке.

Что по альтернативным раскладкам?

Начнём с того, что разные раскладки проектировались по-разному и преследовали разные цели: наиболее развёрнуто, научно и точно рассказано в этом посте: О вопросах сравнения и оптимизации клавиатурных раскладок / Хабр (habr.com)

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

  • Colemak/Workman: A влево, остальные гласные вправо, повышение эргономичности — расстояния, которые преодолевают пальцы при вводе текста, «Мы круче Dvorak’a!!!»

  • Capewell: нафиг чередования, даёшь эргономичность и идеальный межпальцевый баланс!

  • Carpalx: математические модели, системы штрафов, optimizing.

  • Minimak 4, 8, 12 keys: улучшаем QWERTY с минимальными усилиями!

  • ARENSITO: У вас есть Ergodox или Maltron? Тогда я к вам!!!

Лично я не смогу конкретно тебе порекомендовать одну, лучшую альтернативную раскладку, так как это дело очень индивидуальное, у всех по-разному развиты пальцы. К тому же в всех свои сильные и слабые стороны, а такое разнообразие раскладок даёт возможность сделать лучший выбор для себя самого. Но если уж совсем лень выбирать, можно обратить внимание на Comelak или Workman — они более универсальны.

Что бы там не говорили про то, что альтернативные раскладки нисколько не быстрее стандартной QWERTY, что на 99% правда, фактом является то, что люди переходящие на подобный раскладки идут на этот «трудный в освоении» шаг ради комфорта, а не скорости. Комфорт — это не пустой звук, я сам через это прошёл и очень доволен результатом, да в некоторых программах Ctrl+C и Ctrl+V приходится нажимать не как в QWERTY, но что мешает вводить комбинации двумя руками??? Верно, ничего не мешает.

К чему пришёл Я???

За основу я взял раскладку Dvorak, модифицированный Capewell’ом — Capewell-Dvorak, в котором символ L больше не нажимается правым мизинцем, что очень здорово. Я заметил, что клавишу N в QWERTY мне очень легко нажимается (вспоминаем как смещены символы в нижнем ряду) и там как раз поставили L, да и в принципе, раскладка вышла неплохая. Но, как вы поняли, и здесь есть маленький изьян, из-за которого пришлось немного откатиться к классическому Dvorak’у, а именно ZXCV, а точнее символ C (такое можно простить только Colemak/Workman и Carpalx’у, ибо гласные и K находятся справа, но не в этом случае)

a5b7c64992d3fc29c2a3668066129984.png

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

05552e85ca660321ee8e9973ad8c906d.png

Шаг №2: Ставим всё необходимое на базу

Кто-то может возразить насчёт «программерской» клавиатуры, ибо уже есть Dvorak programmer. Да, он есть, но все спец-символы находятся в верхнем ряду. В то же время хочется нажимать все основные программерские символы в домашнем ряду, чем Dvorak programmer порадовать не может.

Я же предлагаю использовать AltGr (почти Ctrl+Alt, ибо AltGr+Del не работает как Ctrl+Alt+Del, то есть не работает) он же правый Alt, работает как Shift, точнее создаёт новый «чистый» слой клавиш, в который можно засунуть ещё кучу символов. Однако отмечу, что нужно научиться нажимать AltGr только правым мизинцем, тогда никаких проблем в его использовании не возникнет. Также я заметил, что почему-то на правый Alt стараются частотные символы не заводить, даже в домашний ряд, ограничиваясь диакритическими знаками, математическими знаками и греческим алфавитом. Скорее всего, это объясняется некоторой сложностью в использовании AltGr, а именно неправильное нажимание неправильным пальцем.

Теперь открываем блокнот и переписываем все спец-символы, чтобы не забыть: все скобки, кавычки, апостро́фы, звёздочки, амперса́нды, собачки, или даже диакритические знаки!

Агась, базовая раскладка есть, спец-символы не забыли, теперь можно приступать с сборке нашей супер-раскладки. Отрываем MSKLC (да-да, я Winдузятник) и вбиваем свои символы, не забывая всё проверять и тестировать. Перед сборкой очень рекомендую везде понажимать и посмотреть, какие функции содержит MSKLC, что такое Dead Key, как провести тест (там всё очень просто).

0b527b4fd7b01326826ecb3f81cbf5ec.png

Жмём Shift и прописываем, что будет вводиться при зажатом Shift’е, большие буквы и стандартный спец-символы. Ещё можно предусмотреть спец-символы на месте точки и запятой (у меня это ! и =).

3b96c8c7771c2c582c5e49fb28249f32.png

Теперь то, ради чего мы здесь собрались: AltGr!!! (не забудьте убрать галочку с Shift, иначе символы будут вводиться не с AltGr, а с AltGr+Shift, на которую (если это кому-то нужно) можно поставить цифры или даже шаблонные тексты)

Я расположил спец-символы следующим образом: слева — все виды скобок, справа — операторы и другие спец-символы. Самые частотные из них находятся в домашнем ряду, что упрощает их ввод. Вверху я расположил комбинируемые диакритические знаки «на все случаи жизни».

bef244b9696e09da34087ab442452dd0.png

Ещё раз напомню, что правый Alt нажимается правым большим пальцем (да-да от так умеет, причём легко). Таким образом, остальные пальцы не сдвигаются с места, позволяя легко вводить спец-символы, почти как без него, тут нужно немного попрактиковаться.

621c6e921d6338491e22401b17d6de18.png

Ура, вы расставили все клавиши так, как вам нужно, теперь осталось всё это добро собрать и установить на компьютер: открываем Project → Properties, будем свойства задавать

a4c9b61d54fa9102a3ea5ef1f7c2e65b.png

Задаём имя, описание (которое будет выскакивать при переключении раскладки), остальное по желанию.

9e4b821c03574565d282612e204cdcfc.png34bfdc8a31135a49dad8ff5fabaf8723.png

После того как всё введено, жмём «Build DLL and Setup Package», после успешной установки перезагружаем ПК и радуемся новой установленной раскладке (старую можно удалить в настройках).

В итоге получается максимально комфортная раскладка, при кодинге в которой нужно делать минимальные пальцедвижения для ввода кода, скобок, операторов, тэгов и прочего (смотря на чём вы кодите)

b38dc188df8e82f388edfe9cbcf3df70.png

Подытожим: для идеальной раскладки необходимо:

  1. Идеальная базовая раскладка

  2. Удобно расставленные спец-символы

  3. Программа MSKLC

  4. Много практики (если не печатаете на альтернативной раскладке)

© Habrahabr.ru