Как создать собственную раскладку клавиатуры
Обновлено: 21.11.2024
Я создал свою первую клавиатуру (Katana60) еще в начале этого года, а вторую (Corne) несколько месяцев назад, но я уже разрабатываю еще одну. Помимо удовольствия, которое я получаю, создавая и настраивая эти клавиатуры, речь идет о поиске более эффективной раскладки клавиатуры для моей повседневной работы. Эта статья подводит итог моего пути, который привел к решению разработать собственную клавиатуру.
Эта статья является первой частью серии из пяти статей.
- Часть 1. В поисках лучшей пользовательской раскладки клавиатуры
- Часть 2. Позвольте представить вам SofleKeyboard — разделенную клавиатуру на основе Lily58 и Crkbd.
- Часть 3. Журнал/руководство по сборке SofleKeyboard
- Часть 4. Эволюция Sofle Keyboard: медленная и не совсем стабильная
- Часть 5. Еще один год клавиатуры Sofle
Мотивация
Я работаю разработчиком программного обеспечения, поэтому набор текста — очень важная часть моей повседневной работы. Но не только печатать. Есть много других задач, которые мне нужно сделать быстро — навигация по исходному коду, редактирование, использование различных инструментов, доступных в редакторе или IDE. Самый эффективный способ выполнить такую задачу — использовать сочетания клавиш.
Задолго до того, как я начал создавать собственные клавиатуры, я уже пытался найти способы повысить эффективность работы с моим компьютером и, в частности, с клавиатурой.
- Я использую макет Colemak уже довольно давно.
- Я потратил время, необходимое для обучения и практики слепой печати.
- Я был давним поклонником Vim, и мне приходилось использовать подключаемый модуль Vim в каждом редакторе, которым я пользовался. Это уже не так, но это повлияло на то, как я использую клавиатуру.
Я не буду углубляться в причины, по которым я больше не использую Vim, но упомяну, что мне нравится в vim.
Vim позволяет использовать легкодоступные клавиши для выполнения самых полезных действий — навигация по тексту и основные операции выполняются буквенными клавишами, которые находятся прямо под вашими пальцами, без каких-либо модификаторов. Это достигается за счет использования нескольких режимов. Режим по умолчанию (называемый командным режимом) предназначен для перемещения и манипулирования, и вам нужно переключиться в режим вставки, в котором вы печатаете. Поначалу это кажется странным, но когда привыкаешь, это очень затягивает.
Вы можете просто держать руки на клавиатуре и большую часть времени даже в базовой позиции и добиться многого. Мыши нет, по клавиатуре почти не двигается. Один пример: вместо клавиш со стрелками используются четыре буквы под правой рукой: h , j , k , l .
В других редакторах вам нужно либо переместить руку на специальную клавишу (стрелки, Home , End и т. д.), либо использовать сочетание клавиш, включающее один или несколько модификаторов ( Shift , Alt , Ctrl или Cmd ).< /p>
Размер клавиатуры
Вышеизложенное имеет одно важное следствие: вам не нужна полнофункциональная клавиатура. Это пустая трата времени, чтобы отодвинуть руку от основного положения. Таким образом, вы перестаете использовать цифровую клавиатуру, домашнюю / конечную / страницу вверх / вниз кластер и стрелки. Так что имеет смысл иметь клавиатуру меньшего размера, не так ли?
В мире клавиатур процентное обозначение используется для классификации клавиатур в соответствии с полной клавиатурой. 100% клавиатура — это старая добрая большая клавиатура со всем. Катана60, которую я сейчас использую, на 60% состоит из клавиатуры. Corne, моя вторая клавиатура, составляет всего 40%, что является минималистичным.
Каковы мои ожидания?
Давайте суммируем мои требования к моей клавиатуре.
-
для простого набора текста 1 .
- У вас есть простой способ перемещения по тексту: стрелки, главная страница, конец, следующее/предыдущее слово, страница вверх, страница вниз. Иметь возможность удерживать клавишу Shift, используя их для выделения текста.
- Имейте легкий доступ к специальным символам — все скобки, точки с запятой, знаки доллара и другие важны при написании кода.
- Простой и эффективный способ использования ярлыков. Мне нужно иметь возможность комбинировать буквы с одним или двумя модификаторами и другие клавиши (символы, F-клавиши) с одним модификатором. В этом плане есть одна важная деталь: мне нужно, чтобы модификаторы зеркально отображались с обеих сторон клавиатуры, потому что я держу их рукой, противоположной той, которая нажимает основную клавишу. Например, если для сочетания клавиш Ctrl+Shift+a я нажму Ctrl и Shift правой рукой, потому что A находится в левой части клавиатуры.
Слои
Что такое слой, когда мы говорим о раскладках клавиатуры? Это альтернативное сопоставление клавиш на клавиатуре, которое можно активировать либо временно, пока вы удерживаете клавишу, либо переключать постоянно, когда вы нажимаете клавишу. Представьте, как работает клавиша FN на ноутбуках: когда вы держите клавишу, некоторые другие клавиши выполняют другую функцию. Другим примером является клавиша num-lock на клавиатуре, которая переключает поведение клавиш в кластере Numpad.
Использование слоев очень распространено в сообществе пользовательских клавиатур, а микропрограммы, такие как QMK, поддерживают слои по умолчанию. Но вам не нужна программируемая клавиатура, чтобы иметь слои.Есть способ заставить их работать во всех операционных системах.
На форуме Colemak есть один очень подробный и очень важный пост о слоях. Этот пост написан DreymarR, и он объясняет концепцию слоя с некоторыми удобными расширениями. Этот пост немного повлиял на исходную раскладку клавиатуры Katana60, и, поскольку моя раскладка во многом основана на ней, она повлияла и на мою.
Катана60
Я уже описал раскладку клавиатуры Katana60. Но я собираюсь вернуться к важным деталям и здесь.
Katana60 имеет 4 слоя, и моя конфигурация очень близка к конфигурации по умолчанию.
- Слой по умолчанию — содержит все известные вам основные клавиши. В нижнем ряду также есть клавиши со стрелками. Первые три стрелки действуют как модификаторы, когда они удерживаются, поэтому моя потребность в отражении модификаторов с обеих сторон выполнена. Обратите внимание, что клавиш F1–F12 нет, потому что для них недостаточно строк.
- Слой символов/FN — активируется нажатием одной из клавиш FN в обоих нижних углах или нажатием клавиши Backspace посередине. Этот слой зеленый на анимации ниже. Я никогда не использовал клавиши FN в углах, только среднюю (которая действует как возврат при нажатии, но активирует слой при удерживании). Этот слой — единственный способ получить доступ к клавишам F1 — F12. Он также перемещает числа и символы ближе к исходному положению и обеспечивает легкий доступ к другим символам. Очень полезно при программировании.
- Расширить слой — активируется нажатием специальной клавиши, заменяющей Caps Lock. Это очень важный слой для движения и редактирования текста. Синий на анимации. Я быстро пристрастился к этому слою и не могу себе представить, чтобы он был недоступен.
- Слой с цифровым замком — этот слой содержит в основном цифровую клавиатуру и переключается нажатием специальной клавиши с цифровым замком. Красный цвет на анимации. Важной деталью здесь является то, что он активируется постоянно, когда вы нажимаете клавишу, и деактивируется, когда вы нажимаете ее снова. Я редко пользовался этим. Красный на анимации.
Переход к разделению
Я с самого начала хотел создать разделенную клавиатуру. Я выбрал Katana60 в качестве первой сборки, потому что это был шаг в этом направлении и мне показалось, что это хорошее место для начала экспериментов с пользовательскими клавиатурами.
Недавно я создал CRKBD (клавиатуру Corne). Я признаю, что решение создать клавиатуру было несколько импульсивным. Мне нравится, как он выглядит, и как только я узнал, что могу изготовить печатные платы и детали для сэндвич-корпуса очень дешево, я не смог устоять и разместил заказ на производство. Но как только я построил его и попытался использовать, я быстро понял, что он слишком минималистичен для меня.
Давайте посмотрим на макет по умолчанию.
Раскладка по умолчанию для клавиатуры Corne.
Макет по умолчанию не так интересен. Давайте сосредоточим наше внимание на доступных ключах.
Мы пожертвовали числовым рядом (верхним) на этой клавиатуре. У нас также есть только 3 ключа во внешних столбцах и 3 ключа в нижнем ряду. В среднем кластере на Katana60 также есть несколько дополнительных ключей, но, поскольку я ими почти не пользовался, я их проигнорирую.
- Ctrl , Alt , Cmd ,
- Сдвиг
- Вкладка
- Введите
- Пробел
- Возврат
- Выход
- 2 клавиши для переключения на другие слои
Это 11 ключей, поэтому их можно разместить как во внешних столбцах, так и в нижних строках (всего 12 доступных ключей).
Но такое решение создает проблемы:
- У меня не может быть модификаторов с обеих сторон симметричным образом. Для этого потребуется еще 4 ключа.
- Я также хотел бы оставить клавиши Shift в обычном положении, а остальные модификаторы — в нижнем ряду. Но я также хотел бы иметь Пробел и Ввод под большими пальцами в нижнем ряду. То есть как минимум по 4 клавиши в нижнем ряду с каждой стороны. Если мы добавим клавиши переключения слоев, нам понадобится 5.
Каковы возможные обходные пути?
Соедините клавиши переключения слоев с помощью пробела и ввода . Каждая клавиша будет действовать как обычная клавиша при нажатии и выбирать другой слой при удерживании. Прошивка QMK поддерживает такие трюки. Я пробовал это, но у него есть свои проблемы. В основном это создает отставание при наборе текста. Пусть это всего несколько сотен миллисекунд, но это заметно и очень раздражает. У меня также были проблемы с ошибками, когда я хотел модификатор, но получил символ. Скорее всего, они были вызваны моим неуклюжим пальцем, но они были слишком обычными и раздражающими. И последняя и самая большая проблема: это дает мне еще только 2 ключа, этого все равно недостаточно.
Используйте клавиши в нижнем ряду букв как многофункциональные. Например Z-Ctrl, X-Alt, C-Cmd и то же самое для , , . и/с другой стороны. Используя тот же прием, при нажатии на клавишу отправляется символ, а удерживание клавиши отправляет модификатор. Это имеет те же проблемы, что и выше, только хуже.
Я также обнаружил, что трудно разместить все ключи, которые я хотел, в оставшихся слоях. Мне пришлось использовать 4-й слой (активируется одновременным удерживанием обеих клавиш переключения слоев) для клавиш F1 - F12. Но такое расположение не сработало, потому что мне нужно иметь возможность использовать хотя бы один модификатор с любой клавишей F, а это очень сложно, когда мне уже нужно нажимать две клавиши (используйте два пальца) в нижнем ряду, чтобы активировать слой.
Через некоторое время я сдался. Мне просто нужна менее минималистичная клавиатура.
Лили58
Lily58 — еще один дизайн, очень похожий на Corne (и частично основанный на нем). Я еще не собирал эту клавиатуру, но подумал, что это может быть следующим шагом.
Lily58 (какой-то произвольный макет)
Это почти идеально:
- Сверху есть еще одна строка, поэтому я получаю числовую строку. Клавиши F1–F12 могут использовать клавиши на слое символов так же, как они есть у меня на Katana60.
- У нас есть по одной дополнительной клавише в нижнем ряду с каждой стороны. Это почти идеально, но было бы намного лучше иметь 2.
Lily58 мне бы подошла, но мне пришлось бы:
- Используйте обходной путь 1) из приведенного выше. Я изменил раскладку Katana60 и пытался использовать такую настройку в течение нескольких недель, надеясь, что смогу к ней привыкнуть. Но лучше не становилось.
- Переместить переключение слоев во внешние столбцы. Но мне нравится идея иметь их под моим большим пальцем. Я очень часто переключаюсь между слоями, и это может сильно напрягать мои мизинцы.
Давайте спроектируем клавиатуру, почему бы и нет?
Lily58 почти идеален, а также имеет открытый исходный код с доступными файлами KiCad. Поэтому я решил изменить их и добавить нужные клавиши. В качестве основы для изменений я выбрал Lily58 Pro версии 2.
Желаемый макет — слой по умолчанию.
Слой по умолчанию не содержит сюрпризов:
- Cmd , Ctrl , Alt находятся в нижнем слое с обеих сторон.
- Переключение между слоями, пробел и ввод находятся в группе большого пальца.
- Клавиши Shift расположены традиционно.
- Tab и Esc перемещены на одну строку вниз, чтобы их было легче найти.
Слой символов очень похож на Katana60, и это сделано намеренно — к нему будет легче привыкнуть.
- Все кнопки F1–F11 находятся в верхнем ряду и выровнены с цифровыми клавишами (F1 – это место, где стоит 1).
- Только F12 перемещается вниз. Но это удобно, так как я использую его для активации терминала, и приятно иметь его ближе к моему мизинцу.
Расширенный слой тоже почти такой же, как на Katana60, так как он уже есть в моей мышечной памяти.
- Справа есть стрелки, переход к началу/концу строки, переход к следующему и предыдущему слову, переход на страницу вверх и страницу вниз . Удалить также включено.
- Левая сторона содержит модификаторы для облегчения доступа, когда слой активен (поэтому я могу комбинировать их с клавишами перемещения).
- Кроме того, здесь присутствует Caps Lock, так как иногда он бывает удобен. Однако этого недостаточно для слоя по умолчанию.
- И несколько сочетаний клавиш для отмены, копирования, вставки, вырезания. Опять же, их цель — упростить редактирование текста без необходимости покидать слой.
- Кроме того, я не так часто использую клавиши Ins , Print Screen и Menu (которые, как мне кажется, ничего не делают на Mac).
- RST — это служебная клавиша для перезапуска микроконтроллера.
Тестирование макета и сборка клавиатуры
Я заканчиваю первую ревизию печатной платы клавиатуры (файлы KiCad на github), но все равно потребуется некоторое время, пока я отполирую дизайн, закажу изготовление и соберу клавиатуру.
Но я уже тестирую новый макет. Я изменил свой макет Katana60 4 и добавил еще две конфигурации (одну для Mac и одну для Linux) с описанным выше макетом, и я использую его в течение нескольких недель. Это работает довольно хорошо, и я привыкаю к изменениям. Конечно, работа еще не завершена.
Я собираюсь рассказать больше о дизайне клавиатуры в следующей статье, поэтому, если вам интересно, вы можете подписаться на меня в Твиттере или использовать традиционную RSS-ленту и подписаться на обновления в этом блоге.
Сноски
В приведенных ниже примерах показана традиционная раскладка QWERTY, чтобы уважаемый читатель не запутался в COLEMAK. ↩
В версии Pro используются розетки с горячей заменой (на Aliexpress) для переключателей клавиатуры. Это позволило бы мне использовать хорошие (и дорогие) переключатели, и если мне не понравится плата, я смогу использовать их на другой. Розетки намного дешевле выключателей. ↩
Я переместил некоторые клавиши в нижнем ряду и немного повернул их. Я также понял, что мне не нужны средние клавиши над клавишами для большого пальца, но, возможно, я мог бы добавить поворотный энкодер, который также поддерживается прошивкой QMK и может использоваться для… ну, для воспроизведения любых нажатий клавиш, которые я пожелаю.И, наконец, я начал перемещать вещи вокруг микроконтроллера. Получившийся дизайн по-прежнему очень близок к Lily58, и большая часть разводки ключей осталась прежней. Но если мне нравится, куда движется доска, я планирую дальнейшие улучшения. Один из них — интегрировать микроконтроллер прямо в плату, что было бы немного лучше, чем использование плат Pro Micro. Я также хотел бы использовать разъем USB-C и, возможно, найти лучший способ соединения половинок, чем аудиокабель. Но это все на будущее. ↩
Текущий макет можно найти в моем форке QMK Firmware на Github, ветка split_training. Файл keymap.c содержит все раскладки, которые есть у меня на клавиатуре — их больше, и я могу переключаться между темами, как захочу. Немного больше подробностей о том, почему я так поступил, можно найти в оригинальной статье Katana60. ↩
Эта статья является первой частью серии из пяти статей.
В Windows предусмотрено множество различных раскладок клавиатуры, большинство из которых используются для раскладки клавиатуры на иностранном языке. Если ни один из макетов по умолчанию в Windows не подходит вам, вы всегда можете создать свой собственный.
Когда я начал изучать испанский язык, мне нужно было набирать несколько символов, которых нет в английском языке: á, é, í, ó, ú, ñ, ¿ и парочку других. Чтобы сделать это легко, мне пришлось использовать испанскую раскладку клавиатуры, встроенную в Windows.
Проблема, с которой я столкнулся, заключалась в том, что она внесла много других (нежелательных) изменений в мою клавиатуру вместо того, чтобы просто предоставить мне новые символы, которые мне нужно было использовать. И хотя писать эти символы стало намного проще, чем раньше, я знал, что смогу сделать гораздо более интуитивную клавиатуру самостоятельно. Так я и сделал.
Следующее руководство проведет вас через мой процесс создания пользовательской испанской раскладки клавиатуры для моей американской клавиатуры. Если у вас есть идея о том, какими должны быть ваши собственные сопоставления клавиш, вы можете следовать за мной, чтобы создать свою собственную клавиатуру.
Как я представлял свою клавиатуру
В испанской клавиатуре, поставляемой с Windows, есть некоторые особенности, которые мне не нравятся. Например, он превратил мою точку с запятой (;) в ñ. Что ж, это нормально, хотя к этому нужно привыкнуть. Но… куда делась моя точка с запятой? Я не знаю и не хочу всегда помнить, где находится его новый дом. И то же самое касается всех остальных клавиш, которые он вытеснил. Короче говоря, я просто не нашел эту раскладку клавиатуры очень интуитивной.
Я решил, что лучше просто нажать клавишу левой квадратной скобки (знаете, эта штука: [ ), а затем символ, который я хотел изменить, с ударением или тильдой. Итак, если бы я хотел написать ú, я мог бы просто набрать [ и u. Если я хочу написать ñ, я набираю [ и n. И вместо того, чтобы смещать мою клавишу [, как насчет того, чтобы получить к ней доступ, дважды нажав на нее. Гораздо проще, правда? Да, но для этого нам потребуется создать собственную раскладку клавиатуры.
Мастер раскладки клавиатуры Microsoft
Специально для этой цели Microsoft создала небольшую удобную программу, которую можно скачать прямо с их веб-сайта. Если эта ссылка по какой-либо причине перестает работать, у нас также есть программа, размещенная по этой ссылке. Скачав его, запустите установочный файл и следуйте инструкциям по установке (все говорят сами за себя).
После завершения установки вы можете открыть программу через меню "Пуск".
Изначально вам будет представлена пустая раскладка клавиатуры, полностью настраиваемая с нуля:
Вместо того, чтобы создавать всю раскладку с нуля, гораздо проще просто использовать нашу текущую раскладку клавиатуры, а затем настроить ее в соответствии с нашими новыми спецификациями. Вы можете загрузить текущую клавиатуру через Файл > Загрузить существующую клавиатуру…
Выберите текущую раскладку клавиатуры в этом меню. Если вы используете обычную американскую клавиатуру, выберите «США».
Теперь клавиатура должна выглядеть заполненной, и мы можем приступить к персонализации.
Установка «мертвого ключа»
Вы можете переставить или перепрограммировать эти клавиши по своему усмотрению, но если вы хотите добавить на клавиатуру дополнительные символы, вам придется использовать «мертвые клавиши». Как я уже говорил ранее, я получаю доступ к испанским символам с помощью первое нажатие [ на моей клавиатуре. Другими словами, левая скобка — это мой мертвый ключ.
Щелкните правой кнопкой мыши по ключу и выберите "Установить как мертвый ключ".
Откроется новое окно, в котором вы можете установить дополнительные ключи.
Как вы можете видеть на снимке экрана выше, я начал вводить несколько испанских символов. Мертвый ключ + базовый ключ образуют составной ключ. Таким образом, первая строка указывает, что «[», за которым следует «n», создаст «ñ». «U+006e» и аналогичная информация создается автоматически — просто введите свои символы как обычно, и другая информация будет заполнена автоматически.
Вы можете просто найти в Google нужные символы и вставить их в составной столбец. Но после того, как мы закончим сохранение этой клавиатуры, вы сможете сами создавать эти символы!
Ключ левой скобки теперь можно использовать для создания гораздо большего количества символов, но время от времени нам по-прежнему может понадобиться использовать саму клавишу левой скобки. Вы можете ввести ‘[‘ в основной и составной столбцы, чтобы двойное нажатие клавиши левой скобки по-прежнему выводило левую скобку.
Вот как это выглядит теперь, когда я закончил вводить все необходимые испанские символы:
Сохраните и включите новую клавиатуру
Нажмите «ОК», когда закончите настройку мертвого ключа. Перейдите в меню «Файл» > «Сохранить», чтобы где-нибудь сохранить новый макет. Что еще более важно, нам нужно создать исполняемую версию новой клавиатуры, чтобы ее можно было установить на ваш компьютер (и другие компьютеры, если вы поделитесь файлом или планируете сменить компьютер).
Сначала нажмите «Проект» > «Свойства», чтобы назвать макет.
Введите соответствующую информацию здесь и нажмите OK, когда закончите.
Нажмите «Проект» > «Создать DLL и пакет установки»
Если вы получили предупреждение, не волнуйтесь, продолжать можно безопасно. В конце вы должны получить диалоговое окно с сообщением о том, что ваши файлы были успешно сохранены:
Нажмите «Да», чтобы просмотреть только что созданные файлы. Чтобы установить только что созданную пользовательскую клавиатуру, просто запустите setup.exe
После успешного завершения установки вы можете выбрать клавиатуру на панели задач.
В зависимости от языка клавиатуры, где мы купили компьютер, клавиши отображаются определенным образом. Не буквы, хотя в случае с испанским у нас на клавиатуре есть Ñ, а другие клавиши, такие как знаки препинания, отображаются в другом порядке. Есть пользователи, которые хотят создать собственную раскладку клавиатуры в Windows 10.
У нас нет собственной функции в Windows 10, которая позволяла бы нам это (пока). Но у нас есть сторонняя программа, которая позволит очень легко создать собственную конфигурацию клавиатуры. Полезно, если мы купили компьютер в другой стране.
Программное обеспечение, о котором идет речь, называется Microsoft Keyboard Layout Creator. Благодаря этой программе у нас есть возможность определить порядок, в котором мы хотим использовать нашу клавиатуру. Мы можем настроить все клавиши одинаково, назначив то, что мы хотим использовать в каждом случае. Кастомизация по максимуму. Вы можете скачать его по этой ссылке.
Интерфейс программы отличается простотой. Что нам нужно сделать, так это нажать клавишу, которая появится на экране, и появится небольшое меню. В том же они выходят варианты, которые у нас есть, чтобы назначить указанную клавишу. Повторяем это со всеми ключами, пока не получим такую конфигурацию, которую хотим использовать в Windows 10.
Интересно то, что это позволяет нам создавать несколько дизайнов, которые мы можем легко сохранить. Так что, возможно, если вы работаете на нескольких языках, вы можете настроить клавиатуру вашего компьютера с Windows 10 так, как вам удобнее.
После того, как желаемая конфигурация клавиатуры будет завершена, вам просто нужно сохранить ее, и вы можете использовать ее. Таким образом, клавиатура вашего компьютера теперь будет реагировать на новую конфигурацию, которую вы создали. Хороший способ настроить использование этой части, которая в принципе обычно допускает меньше конфигураций.
Содержание статьи соответствует нашим принципам редакционной этики. Чтобы сообщить об ошибке, нажмите здесь!.
Клавиатура GergoPlex от g Heavy Industries
Оказавшись в мире нестандартных механических клавиатур, вы рано или поздно столкнетесь с клавиатурами с невероятно малым количеством клавиш:
Коллекция эргономичных клавиатур от u/chamzter22 от r/ErgoMechKeyboards
Сначала может показаться, что нет никакой причины создавать такую клавиатуру, кроме эстетических соображений или хвастовства. Однако есть веские аргументы в пользу уменьшения количества клавиш на стандартной клавиатуре. Если вы когда-нибудь пытались научиться слепой печати, то вас учили, как важно держать пальцы на домашнем ряду. Тем не менее, есть много клавиш, которые заставляют вашу руку двигаться за пределы основного ряда. Людям с маленькими руками может быть трудно дотянуться даже до числового ряда.
Если вы ищете 36-клавишную пользовательскую раскладку клавиатуры, я часто рекомендую раскладку Miryoku:
Выглядит насыщенно! Каждая клавиша большого пальца активирует отдельный слой, всего 6 слоев, так что есть к чему привыкнуть. Кроме того, в макете Miryoku используются модификации домашней строки — клавиши Super, Alt, Ctrl и Shift находятся в домашней строке вместо клавиш большого пальца. Например, если вы удерживаете клавишу T, она будет работать как модификатор Shift. Если вы коснетесь ее, вместо нее будет выводиться буква T. Теоретически это определенно имеет смысл, так как ваши пальцы всегда на исходном ряду. На практике потребуется некоторая настройка, чтобы заставить его работать хорошо, так как могут быть проблемы с синхронизацией, когда иногда вы хотите активировать модификатор, иногда вы хотите активировать букву. В этой статье подробно рассматриваются моды домашнего ряда и необходимые настройки, чтобы они работали хорошо.
Другой альтернативой управлению доступными клавишами является использование комбинаций:
Это стандартная раскладка клавиатуры GergoPlex, подробно описанная здесь. Вместо использования множества разных слоев в этом макете используются комбинированные клавиши для активации разных символов. Например, одновременное нажатие S и D вызовет Backspace, одновременное нажатие J и K вызовет двоеточие и т. д. Это дает много интересных возможностей; однако могут быть проблемы с синхронизацией, аналогичные модам домашнего ряда. Кроме того, нажатие комбинаций может быть утомительным, если вы используете переключатели с тяжелыми клавишами.
Чтобы создавать раскладки такого типа, вам потребуется запрограммировать собственную прошивку клавиатуры. Популярным проектом прошивки клавиатуры с открытым исходным кодом является QMK, который позволяет программировать слои, комбинации и многие другие функции, позволяющие сопоставлять все необходимые клавиши с 36-клавишной пользовательской клавиатурой. (Вы можете получить обзор того, как использовать QMK в моей предыдущей статье.)
Многие люди добились успеха с вариантами макетов, описанных выше.Однако они не соответствовали моим конкретным потребностям, поэтому я хотел разработать что-то с нуля. По сути, я хочу иметь возможность без проблем переключаться между моей 36-клавишной пользовательской клавиатурой и обычной клавиатурой ноутбука. Некоторым это не кажется проблемой, но я заметил, что делал много ошибок, нажимая не те клавиши, когда переключался между этими разными раскладками. Имея это в виду, я использовал следующие ограничения дизайна для своей раскладки клавиатуры:
Я обнаружил, что это необходимо, если я хочу переключаться между моей пользовательской раскладкой и стандартной клавиатурой. Многие люди полностью переделывают свои макеты, используя Dvorak, Colemak или другие макеты, отличные от QWERTY. Что имеет смысл, если ваша цель — максимально оптимизировать эргономику. Но это не моя цель — для меня сокращение ключевого расстояния от домашнего ряда достаточно эргономично. Моя цель — оптимизировать другие факторы, а именно свести к минимуму кривую обучения и свести к минимуму трудности при переключении на стандартную клавиатуру.
Это означает, что клавиша Escape, которую необходимо переместить на пользовательской 36-клавишной клавиатуре, останется на левой стороне клавиатуры, клавиша Enter останется на правой стороне клавиатуры и т. д. Это помогает избежать любых конфликтов с сочетаниями клавиш, которые включают две разные руки (например, команду Enter, которая обычно использует две разные руки, было бы трудно выполнить, если бы клавиша Enter была перемещена на той же руке, что и Command). Я думаю, что это также помогает с мышечной памятью, по крайней мере, когда я экспериментировал. Я попытался переместить клавишу Tab в правую руку, но в моем мозгу ее не было — перемещение ее обратно в левую руку казалось более интуитивным, хотя это было другое положение, чем обычно. Опять же, ваш пробег может отличаться.
При создании пользовательской прошивки клавиатуры вы можете запрограммировать любую клавишу, чтобы она выполняла несколько функций. Клавишу A можно запрограммировать на отправку A при нажатии, отправку Control при удержании, отправку Tab при двойном нажатии и т. д. Это важная часть создания пользовательской клавиатуры с 36 клавишами. Однако некоторые клавиши работают лучше, чем другие. Перегрузка клавиши A, как в этом примере, может привести к ошибкам при быстром вводе — когда вы вводите «as», он может регистрироваться как Control-S или «as» в зависимости от того, как быстро вы отпускаете клавишу A. Вы можете настроить тайминги прошивки, но я бы предпочел вообще избежать этой проблемы, не перегружая эти часто используемые буквенные клавиши, если это вообще возможно.
Некоторым людям удобно иметь много разных уровней, каждый из которых имеет определенные обязанности. Я попробовал это, но мне не удалось изучить все эти уровни заранее. Вместо того, чтобы создавать множество одноцелевых слоев, я смог создать один дополнительный слой, содержащий все часто используемые символы и навигационные клавиши, которые не помещались на базовом слое. Это облегчило мне обучение, так как помогает вам не помнить, какая клавиша находится в каком слое, и каждый раз активировать соответствующий слой. Как только вы привыкнете к макету, определенно имеет смысл добавить дополнительные слои, но по моему опыту это хорошее ограничение для начала.
На стандартной клавиатуре Mac, изображенной выше, 78 клавиш. Это означает, что для пользовательской клавиатуры с 36 клавишами вам нужно запомнить положения 42 клавиш, которые не помещаются на базовом слое. Это сложная задача, если только у вас нет мнемонических приемов, помогающих вашей памяти. Например, во многих макетах, которые я видел, цифровые клавиши переставлены в стиле цифровой клавиатуры. Это довольно круто, но это больше вещей, которые нужно запомнить заранее. Легче начать с цифровых клавиш в слое непосредственно над верхней строкой, которая находится всего на одну строку ниже того места, где они обычно расположены. Точно так же клавиши F1-F10 могут располагаться на отдельном слое в тех же позициях — опять же, их легко запомнить. Теперь мы уже позаботились о 20 из 42 ключей с минимальными усилиями! Мы можем разместить оставшиеся клавиши слоями, используя аналогичные мнемонические приемы, чтобы свести кривую обучения к минимуму.
Эти конструктивные ограничения устранили множество произвольных вариантов выбора и привели меня к раскладке клавиатуры, которой я вполне доволен.
Вот раскладка, которую я создал для пользовательской клавиатуры с 36 клавишами, используя приведенные выше конструктивные ограничения:
(Эта раскладка была разработана специально для клавиш-модификаторов Mac, но ее несложно настроить для Windows или Linux.) Почти все клавиши в середине стандартной клавиатуры остаются на своих исходных позициях. Все перемещенные ключи остаются в одной руке. Раскладка не перегружает часто используемые буквенные клавиши. Есть только 2 дополнительных слоя (и все часто используемые символы находятся на первом слое). Давайте подробно рассмотрим каждый слой.
Базовый слой почти идентичен стандартному макету, с клавишами Option, Command и Space в точно таких же положениях (я использую большой палец правой руки, чтобы нажать пробел, но вы можете перегрузить левую клавишу Command, чтобы она была пробелом). если сделать наоборот). Клавиши Shift находятся примерно в аналогичных положениях (перегружая нечасто набираемые буквы, что отрабатывает отлично). Я заменил клавишу с запятой на клавишу кавычек, потому что она очень часто используется, но это необязательная модификация.
Кнопки Escape и Tab пришлось переместить, чтобы они теперь управлялись большим пальцем левой руки. То же самое с клавишами Enter и Backspace для большого пальца правой руки. Использование больших пальцев для этих клавиш — совершенно освобождающий опыт. Эти клавиши используются постоянно в течение любого рабочего сеанса, и вы не понимаете, сколько движений приходится делать вашим рукам, нажимая на эти клавиши, пока вы не переведете их в более удобное положение.
У этой раскладки есть один недостаток: клавиша Tab находится рядом с клавишей Command, поэтому сложно нажать вкладку Command — необходимое сочетание клавиш на Mac. Мы вернемся к этому в конце.
Данный слой активируется нажатием средней клавиши большого пальца правой руки. На этом слое находятся все часто используемые символы, включая цифры и клавиши со стрелками. Большинство макетов, которые я видел, имеют отдельный слой для чисел и символов. Кажется, это работает для большинства людей, но когда я лично попробовал это, это слишком сильно запутало мою голову. Я привык удерживать Shift, чтобы получить !, как работает этот макет. Сохранение моей мышечной памяти и сокращение количества необходимых слоев — беспроигрышный вариант в моей книге.
У меня есть клавиши со стрелками в стиле Vim здесь, в правом домашнем ряду, к чему я привык. Если вы уже знакомы с Vim, это отличный макет; в противном случае вам может потребоваться внести некоторые изменения (или потратить некоторое время на изучение Vim, если вы так склонны). При желании вы можете добавить клавиши HOME/END/PGDN/PGUP на левую руку — они менее важны, поэтому поэкспериментируйте с их перестановкой так, как вам удобно.
Самая большая кривая обучения — это привыкание к оставшимся символам, которые потеряли свои специальные клавиши ( -_ , =+ , [< , >] и \| ). Я в основном переместил эту группу клавиш в нижний ряд правой руки по порядку. Самый простой способ запомнить это — использовать ментальные якоря. Клавиша open [< находится в той же позиции, что и клавиша открытия базового слоя, а клавиша close >] — в той же позиции, что и клавиша close > базового слоя. ключ. Кроме того, обратная косая черта \| ключ находится в той же позиции, что и косая черта /? ключ. Если вы их помните, то остались только две клавиши -_ и =+ в оставшихся двух позициях. Опять же, вы получаете доступ к смещенным версиям каждой из этих клавиш, удерживая клавишу Shift, как обычно, так что здесь нечего запоминать!
Этот слой активируется нажатием правой клавиши большого пальца правой руки. Я использую этот слой гораздо реже, чем слой символов, но для каждой функциональной клавиши предусмотрено свободное место. Положения функциональных клавиш легко запомнить, так как они мысленно привязаны к позициям цифровых клавиш. При желании вы можете добавить регуляторы громкости, регуляторы яркости, мультимедийные клавиши и любые другие клавиши — места предостаточно.
Ранее я упоминал, что единственным недостатком базового уровня, который я обнаружил, была трудность при нажатии на вкладку «Команда», которая является важным сочетанием клавиш на Mac. Мое решение этой проблемы странное — я заменил сочетание клавиш Command Q на вкладку Command вместо этого на уровне прошивки. Стоит отметить, что еще до того, как я начал делать эту раскладку клавиатуры, я отключил Command Q на своем Mac (я устал от случайного выхода из программы и потери всех моих вкладок, я хотел ввести Command W). Так что мне не понадобилось это сочетание клавиш, и оно находится ближе всего к вкладке Command на обычной раскладке клавиатуры.
Вот код для перезаписи команды Q на вкладку Command с помощью QMK, если вам интересно:
Для меня это идеальное решение моей проблемы; однако я понимаю, что это может быть не идеально для многих людей. Хорошо, что у вас есть много других вариантов, если вы используете QMK. Вы можете использовать чечетку, чтобы двойное касание Q выводило клавишу Tab, или вы могли бы сделать комбинацию для QW для вывода клавиши Tab, или вы могли бы поместить Tab на какой-либо слой, который легко доступен, и т. д. Есть бесконечные возможности при программировании. собственная прошивка клавиатуры; просто будьте осторожны, чтобы свести эти типы настроек к минимуму, пока вы не привыкнете к своему основному макету.
У этого макета есть много возможностей для дальнейшей настройки. На двух дополнительных слоях есть много неиспользуемых клавиш, а на базовом слое есть клавиши, доступные для активации новых слоев, если вы так склонны (клавиша Enter большого пальца правой руки и клавиша с точкой с запятой справа — два хороших варианта). Вместо этого вы можете назначить правую клавишу Enter в качестве клавиши Hyper, что может быть полезно для других общесистемных сочетаний клавиш.
Если вы только начинаете знакомиться с программируемой прошивкой для клавиатур, я рекомендую прочитать мой предыдущий пост, чтобы получить представление о создании собственной клавиатуры с программируемой прошивкой. Если вы хотите приобрести нестандартную 36-клавишную клавиатуру, не так много поставщиков, которые производят их массово, поскольку это довольно нишевый рынок. Keyboardio Atreus — один из наиболее доступных вариантов массового производства, отвечающий всем требованиям; у него более 36 клавиш, но он должен хорошо работать с этой раскладкой, и вы можете использовать дополнительные клавиши по своему усмотрению. В противном случае вы можете приобрести детали или готовые варианты у более мелких поставщиков, которые изготовят их на заказ, что займет больше времени. Хорошим местом для получения совета является сабреддит /r/ErgoMechKeyboards, где есть стикер, который поможет вам найти именно ту клавиатуру, которая соответствует вашим потребностям.
Если после прочтения всего этого вы не уверены, что стоит переходить на пользовательскую 36-клавишную клавиатуру, то я определенно придерживаюсь ваших текущих предпочтений. Эргономика является несомненным плюсом для некоторых людей, которые испытывают боль в запястьях или суставах, но для большинства людей это, вероятно, не проблема. Я бы порекомендовал заняться эргономичной клавиатурой так же, как я бы порекомендовал кому-то изучить Vim; это должно быть потому, что вам нравится проводить время, изучая и осваивая сложный навык, например, изучение нового музыкального инструмента.
Если вы уже используете маленькую клавиатуру с минимальным количеством клавиш, стоит повторить, что я не считаю, что моя раскладка подходит всем. Если вы потратили время на освоение раскладок, отличных от QWERTY, модификаций домашнего ряда, комбо или других дополнительных функций, вам следует использовать раскладку, которая в полной мере использует ваши знания. Но я считаю, что эта схема идеально подходит в качестве отправной точки для большинства людей, поскольку она дает вам возможность продуктивно работать в кратчайшие сроки. Как только вы почувствуете себя комфортно с этой раскладкой, вам определенно следует постепенно добавлять дополнительные функции, что составляет половину удовольствия от создания собственной клавиатуры. Надеюсь, эти советы пригодятся вам в вашем путешествии!
Питер Джанг
Привет! Меня зовут Питер Джанг, я педагог и разработчик программного обеспечения по профессии (основной 3-й Strike Ken и любительский караоке-зверь по хобби). В настоящее время я являюсь деканом по обучению в Actualize, где я разрабатываю учебную программу по веб-разработке и провожу занятия в прямом эфире в нашем главном кампусе в Чикаго. Это мой личный сайт, на котором я пишу о программировании и других темах, связанных с технологиями.
Читайте также: