Как сделать программируемую клавиатуру

Обновлено: 18.05.2024

Когда обычному человеку нужна новая клавиатура, он идёт в магазин. Когда клавиатура нужна программисту, он собирает её сам из компонентов. Иногда дело заходит слишком далеко, и программист начинает печатать корпуса на 3d-принтере, заказывать авторские клавиши и проводить дегустацию свитчей. Рассказываем, что это и зачем нужно.

Что такое кастомная клавиатура

Слово «кастомная» (от английского custom — нестандартный) означает, что изделие изготовлено на заказ. Когда программист сам себе собирает клавиатуру, — это тоже кастом, потому что на заводах не выпускают клавиатуры именно с такими параметрами.

Кастомную клавиатуру можно собрать:

  • любой ширины и из любого количества клавиш;
  • любого цвета;
  • с любой подсветкой;
  • с любой реакцией на нажатие каждой клавиши;
  • любой формы и с любым дизайном.

Из чего состоит кастомная клавиатура

Чтобы собрать кастом, нам понадобятся компоненты — их можно купить готовые, заказать на производстве или изготовить самостоятельно в зависимости от ваших возможностей. Вот что это за детали:

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

Вместо платы можно использовать контроллеры типа Arduino , но тогда нужно как-то спаять контакты клавиш. Это не очень удобно, но вполне реализуемо.

Переключатели, или свитчи, — это механизмы, которые отвечают за нажатия на клавиши. В зависимости от механизма клавиши дают разный отклик и щелчок: какие-то требуют более сильного нажатия, какие-то легче; одни дают мощный щелчок, другие бесшумные; есть даже такие, которые делают два щелчка: один на нажатие, другой на отпускание клавиш.

Свитчи выглядят так:

Стабилизаторы — это устройства, которые не дают длинным клавишам шататься и люфтить. Длинным — это пробел, шифт, капслок, энтер и другие. Под каждую такую клавишу нужен свой стабилизатор:

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

Корпус, чтобы собрать всё вместе.

Кейкапы, колпачки — клавиши, которые мы видим на клавиатуре. Кейкап — это не сама клавиша, а пластиковый колпачок, который надевается на свитч. Его можно вытащить из одного гнезда и поставить в другое — нажиматься будет точно так же. Например, вот кастомные кейкапы с Дартом Вейдером и Бэтменом:

Ещё при желании можно добавить в клавиатуру светодиоды для красоты. Тут тоже есть выбор: купить их отдельно, вместе с переключателем или распаянные на плате:

Как работает механическая клавиша

В клавиатурах есть несколько типов клавиш:

  • Мембранные — для нажатия надо продавить резиновую мембрану. Обычно такие клавиши имеют небольшой ход нажатия и тихо работают.
  • Ножничные — кейкап держится на тонком механизме, напоминающем ножницы, отсюда и название. В большинстве ноутбуков стоят ножничные клавиатуры.
  • Механические — это наш случай. В них, чтобы замкнуть контакт, используется специальный механизм с пружиной, подвижным штоком, токопроводящими контактами и корпусом, внутри которого это всё находится. Они большие и издают характерное щёлканье при нажатии, как в фильмах про хакеров.

Почти все кастомные клавиатуры делают с механическими клавишами по двум причинам:

  1. Свитчи проще монтировать на плату, чем всё остальное.
  2. Можно подобрать свитч с нужными для себя параметрами. Например, длинным или коротким свободным ходом, жёсткостью, скоростью возврата, скоростью срабатывания и так далее.

Работает переключатель так:

  • Есть контактная пара. Если её замкнуть — клавиатура поймёт, что на клавишу нажали.
  • В обычном состоянии контактная пара разомкнута и сигнал не идёт. За это отвечает белая деталь на схеме ниже.
  • Когда мы нажимаем на клавишу, она давит на синий шток, а шток — на белый размыкатель. Как только размыкатель проваливается вниз, контакты соединяются и сигнал идёт на клавиатуру.
  • Когда палец убран, пружина поднимает обе части наверх, и клавиша снова готова к тому, чтобы на неё нажали.

Как собрать всё вместе

Общая последовательность такая:

  1. Берём плату и устанавливаем стабилизаторы под большие клавиши. Это делаем сразу, потому что потом будет уже не подлезть.
  2. Ставим пластину.
  3. Припаиваем к плате контакты свитчей. Есть клавиатуры с готовыми разъёмами под свитчи, туда контакты можно просто вставить и зажать.
  4. Если нужны светодиоды — тоже припаиваем.
  5. Ставим плату со свитчами в корпус.
  6. Надеваем кейкапы на свитчи.

Звучит просто, но на деле это может занять от пары-тройки часов до нескольких вечеров — всё зависит от необходимости пайки и того, как все элементы подходят друг к другу.

Программирование кастомной клавиатуры

Часто кастомы делают ради расширения стандартных возможностей, например:

  • сделать переключение языка отдельной кнопкой;
  • повесить на какие-то клавиши нестандартные действия, например, копирование и вставку сделать тоже отдельными кнопками;
  • сократить в 2–3 раза количество клавиш, а все функции полностью запрограммировать на то, что осталось.

Чтобы такое сделать, нужно, чтобы плата поддерживала стандарт QMK — он позволяет программировать клавиатуры на уровне чипа. Это значит, что вы можете подсоединить эту клавиатуру к любому другому компьютеру и она будет работать точно так же, как и на вашем, со всеми хитрыми комбинациями и скриптами.

Как влияют кастомные клавиатуры на качество вашего кода

Кастомная клавиатура никак не влияет на качество вашего кода, даже если у неё самая крутая подсветка и самые дорогие свитчи.

Другое дело, что, погрузившись в программирование прошивок и скриптов, вы сможете подтянуть свои навыки в алгоритмах и логике работы устройств — и вот это точно может сделать вас лучше как программиста.

Но один способ улучшить код с кастомной клавиатурой всё-таки есть: приходите в Практикум, там можно с любой клавиатурой.

Как влияют на удобство работы

Кастомные механические клавиатуры — дело вкуса. Одним нравится звук щёлкающих клавиш, других он раздражает. Кому-то максимально удобно на Apple Magic Keyboard, а кто-то терпеть не может эту мембрану и жить не может без свитчей Cherry Red. То есть здесь всё строго по любви.

Из распространенных минусов:

❌ Самые доступные наборы для кастома могут быть без русского языка. Это не проблема, если вы хотите сами сделать лазерную гравировку.

❌ Если делаете кастом, то хочется сделать какую-то особенную форму клавиатуры. Но тогда пальцы привыкнут к новой клавиатуре, а на других станет непривычно.

❌ Кастомная клавиатура может занимать дополнительный порт на компьютере.

Срединный вариант

Хороший промежуточный вариант — программируемые мини-клавиатуры. Накатываете на них нужные вам горячие клавиши, и в бой. Пример с Али :

Добрый день!
Требуется изготовление в количестве 2 шт следующих изделий:

Подключаемое по USB к Win7 устройство (аналог программируемой
клавиатуры) с 60-ю выходами для подключения нефиксируемых кнопочных выключателей.
Каждое нажатие такой клавиши передает в комп заданный набор символов.
Назначение: быстрый ввод текстовых наборов данных.
По русски: сидит оператор на телефоне, спрашивает у клиента имя, и
чтобы не набирать вручную, нажимает на специальной клавиатуре кнопку
"Андрей", данные попадают в соответствующее поле.
Клавиатуру изготовим сами, интересуют только "мозги" с торчащими
проводами)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

а, до этого по каковски было?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Хорошая статья, познавательная. Но это нужно инженерное подразделение на базе нашей торговой компании развертывать, чтобы такой проект осуществить. А интересует вариант "Заплатил - получил готовое устройство"
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Добрый день!
Требуется изготовление в количестве 2 шт следующих изделий:

Подключаемое по USB к Win7 устройство (аналог программируемой
клавиатуры) с 60-ю выходами для подключения нефиксируемых кнопочных выключателей.
Каждое нажатие такой клавиши передает в комп заданный набор символов.
Назначение: быстрый ввод текстовых наборов данных.
По русски: сидит оператор на телефоне, спрашивает у клиента имя, и
чтобы не набирать вручную, нажимает на специальной клавиатуре кнопку
"Андрей", данные попадают в соответствующее поле.
Клавиатуру изготовим сами, интересуют только "мозги" с торчащими
проводами)

покупаешь юсб-клаву, устанавливаешь софтовый маппер на комп, настраиваешь каждую клавишу на любые действия. нахрена нужна дуино, если всё сливается в клавиатурный набор?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Добрый день!
Требуется изготовление в количестве 2 шт следующих изделий:

Подключаемое по USB к Win7 устройство (аналог программируемой
клавиатуры) с 60-ю выходами для подключения нефиксируемых кнопочных выключателей.
Каждое нажатие такой клавиши передает в комп заданный набор символов.
Назначение: быстрый ввод текстовых наборов данных.
По русски: сидит оператор на телефоне, спрашивает у клиента имя, и
чтобы не набирать вручную, нажимает на специальной клавиатуре кнопку
"Андрей", данные попадают в соответствующее поле.
Клавиатуру изготовим сами, интересуют только "мозги" с торчащими
проводами)

покупаешь юсб-клаву, устанавливаешь софтовый маппер на комп, настраиваешь каждую клавишу на любые действия. нахрена нужна дуино, если всё сливается в клавиатурный набор?

Всем здравия!

Иногда при работе на компьютере необходимо нажимать последовательно несколько клавиш (причем, чем быстрее и "четче" это делаешь — тем лучше!). Например, это часто требуется в играх, при каких-то рутинных офисных задачах и пр.

Однако, всё можно упростить! Представьте, вы нажмёте только одну клавишу — а спец. программа за вас нажмет последовательность из 5÷10 клавиш, которую вы ей заранее укажите (причем, она может это сделать как очень быстро, так и с определенной паузой). Кстати, называют подобные "трюки" — макросами.

Не обгонишь, я быстрее нажму!

Не обгонишь, я быстрее нажму!

ускорение ПК

Создание макроса: нажимам 1 клавишу — получаем последовательность из 10!

Пошаговый пример: делаем макрос для игры

ШАГ 1 — открываем раздел "макрос"

ШАГ 1 — открываем раздел "макрос"

Далее нажать кнопку "Создать макрос" и дать ему имя (лучше использовать название игры или приложения, для которого макрос создается, чтобы вы по имени могли легко сориентировать к чему и зачем это. ).

ШАГ 2 — название макроса

ШАГ 2 — название макроса

Теперь для созданного макроса нам нужно записать комбинацию нажатий мыши и клавиатуры: именно ее потом программа и будет воспроизводить (эмулировать нажатия за нас!).

Для этого нужно нажать по кнопке "Запись" , и указать: нужно ли запоминать нажатия мыши и клавиатуры (в своем примере я выбрал вариант "Записывать нажатия клавиш с клавиатуры" ).

ШАГ 3 — начать запись

ШАГ 3 — начать запись

После нажмите на клавиатуре последовательно всё клавиши, которые программа должна запомнить и записать! Учтите, что она запоминает даже паузы между нажатиями клавиш!

ШАГ 4 — нажимаем последовательность клавиш

нажимаем последовательность клавиш

Теперь нам нужно этот макрос (последовательность клавиш) установить на какую-нибудь реальную клавишу — т.е. когда мы нажмем на неё — он и сработает.

ШАГ 5 — присваиваем макросу клавишу

ШАГ 4 — присваиваем макросу клавишу

Далее нужно нажать кнопку "Запустить" , чтобы программа начала отслеживать все нажатия на указанную нами клавишу "Z".

ШАГ 6 — запускаем макрос

Осталось только войти в нужную нам игру/приложение (для которого мы создали макрос), и нажать кнопку активации макроса — в моем случае "Z".

ШАГ 7 — испытания!

ШАГ 5 — испытания! // Скриншот из игры World of Warcraft

Разумеется, мой показанный пример очень прост и бесхитростный. Однако, если вы никогда не сталкивались с этим — то начинать лучше с малого, потихоньку усложняя и накручивая "свои заготовки".

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

Какие утилиты можно порекомендовать для начинающих

Разумеется, программ и утилит подобного рода достаточно много. В этой заметке у меня нет цели представить их все (с описанием плюсов и минусов) — самое главное дать несколько наводок для начинающих.

BotMek

ШАГ 1 — открываем раздел "макрос"

BotMek: главное окно программы

Добротная программа, позволяющая легко написать макросы на клавиатуру и мышку (причем, программа позволяет это делать даже для самых обычных моделей, не относящихся к игровым).

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

  1. совместимость с любыми моделями мышек и клавиатур;
  2. рассчитана на новичка (спец. знаний не требуется);
  3. есть коллекция готовых макросов для популярных игр;
  4. позволяет пользоваться одновременно сразу неск. макросами;
  5. совместима с Windows 7/8/10 (работает "тихо" и не отвлекает различными окнами и напоминаниями. ).

TinyTask

TinyTask — микро-программа

TinyTask — совсем небольшая утилита (несколько килобайт веса), позволяющая записывать и воспроизводить активность реальной клавиатуры/мыши (т.е. являться на время их программным эмулятором).

Отлично подходит для решения и автоматизации рутинных задач.

Недостаток : есть неудобства при работе сразу с несколькими макросами (переключение не удобно).

Macros Effects: Макроскин (ME)

Macros Effects — скриншот главного окна

Macros Effects — скриншот главного окна

"Узко-спец." приложение для постановки макросов на практически любые виды мышек. Совместима с макросами, написанными в Oscar Editor в формате AMC.

Минус : отсутствует возможность записывать и загружать команды для клавиатуры!

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

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

Как это устроено

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


Мощность встроенного в аксессуары железа позволяет работать не только с заводским программным кодом, но и с пользовательскими настройками. Современные игровые и рабочие клавиатуры поддерживают работу с фирменным софтом, где буквально каждая кнопка может быть настроена по вкусу владельца. Правда, не все пользователи догадываются, что действия можно переложить на игровую клавиатуру или манипулятор. Особенно сложно разобраться в этой кутерьме новичкам и ретроградам, но стоит только вникнуть, как идеи по автоматизации польются рекой. Ведь каждый хотел бы сказать клавиатуре: «Эй, делай это, то, и снова это, а я пока пойду пить кофе». С игровыми аксессуарами провернуть такое — проще простого.

Что уже придумали за нас

С функционалом дополнительных клавиш часто сталкиваются владельцы ноутбуков: им привычно видеть по соседству с клавишами F1-F12 их модификаторы, предназначенные для управления ноутбучным железом. С их помощью можно управлять беспроводной сетью, регулировать яркость подсветки дисплея, ввести ноутбук в спящий режим или включить Bluetooth. Постепенно это удобство переехало и в настольные компьютеры, но здесь пользователь может уже самостоятельно назначать дополнительные команды.


Регулировка яркости

Современные мониторы общаются с компьютером по шине DDC/CI, поэтому большинство моделей поддерживают управление яркостью подсветки не только через штатные кнопки на корпусе, но и «по проводу» из Windows. Кому надоело искать кнопки на задней панели дисплея, может сделать это с помощью дублеров на клавиатуре:


Управление окнами и рабочими столами

Если не назначить горячие клавиши, работа с окнами и рабочими столами в Windows может показаться запутанным и неудобным делом. Но с помощью волшебных клавиш можно быстро переключаться между столами, сворачивать приложения и открывать панель задач.


Мультимедийные кнопки

Постоянно искать плеер в запущенных приложениях, чтобы переключить песню? Зачем, если это можно сделать одним нажатием.


Регулировка громкости

И уж тем более не придется крутить регулятор громкости на задней части колонок, если на клавиатуре для этого уже все предусмотрено.


Горячий запуск программ

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


Как этим пользоваться

Функциональность клавиш и настройки зависят от модели клавиатуры и могут изменяться через фирменные утилиты. Например, у неигровых клавиатур и мышей Logitech за это отвечает программа Logitech Options:


Чтобы настроить функциональный ряд по своему вкусу, достаточно выбрать удобную кнопку, которая подсвечивается в программе, и назначить ей задание:


Пользователи редко меняют яркость монитора, поэтому вместо регулировки подсветки можно назначить команду для изменения масштаба. Это работает в браузере, окнах и папках системы, просмотрщиках и редакторах фотографий, а также везде, где можно приближать и удалять. Крайне удобная вещь:


Кроме того, на программируемые клавиши можно назначить действия «копировать/вставить», чтобы забыть про растяжку пальцев при нажатии «Ctrl + C» или «Ctrl + V»:


А если хочется больше экзотики, то можно сделать так:


Или совсем обнаглеть и переделать клавишу в ярлык для запуска Photoshop:


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


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

Как сделать самому

Макрос — это последовательность действий, которые записываются в память устройства. То есть, это автоматические нажатия на физические клавиши и кнопки. Например, непрерывный клик для обновления веб-страницы каждые 5 секунд. Вместо того чтобы делать это вручную, достаточно записать алгоритм на программируемую клавишу и наблюдать со стороны за монотонной работой автоматики. Некоторые макросы и готовые образцы для программирования клавиш уже есть в фирменном ПО для мышки или клавиатуры.


Отличительная особенность таких систем в том, что программный алгоритм записывается в память устройства и не занимает вычислительное время самого компьютера. В этом есть преимущество: стандартная автоматизация ОС часто блокируется сторонними программами и игровыми сервисами. В случае со скриптами, записанными в память другого устройства, такие проблемы исключены: макрос будет работать подобно настоящему пользователю. Тем более, что оптимизированные для работы с системой устройства всегда комплектуются дополнительными свободными клавишами, поэтому использовать для таких задач игровые аксессуары будет намного комфортнее.


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

С помощью макроса можно имитировать действия профессионального игрока. В сухом виде код скрипта выглядит примерно так: нажать кнопку «стрельба», сдвинуть курсор на 5 пикселей вниз, нажать кнопку «стрельба», сдвинуть курсор вниз на 4 пикселя и вправо на 3 пикселя, нажать кнопку «стрельба» и так далее. В итоге получится так:

Но даже программная реализация макросов работает и вполне бывает достаточна для некоторых действий. Причем не всегда требуется фирменный софт: сторонние программы тоже кое-что умеют. Например, известный редактор скриптов BotMek:


Просто нажимаем клавишу «Запись» и вводим, то, что хотим автоматизировать. В нашем примере это написание двух строчек с цифрами 123. Для этого записываем такую последовательность: 1 – 2 – 3 – Enter – 1 – 2 – 3 – Enter. Как только алгоритм окончен, нажимаем «Стоп» и сохраняем скрипт. Возвращаемся на вкладку «Клавиши», выбираем любую свободную кнопку на клавиатуре и присваиваем ей новый макрос:


Проверяем работу автоматики в блокноте. Нажимаем PageUp (ту клавишу, которой присвоили скрипт):


Работает. И так можно автоматизировать все, что умеют делать клавиатура и мышь.

Макросы вне игры

Кроме игровых сценариев, макросы можно применить и в офисе. Здесь все зависит от креативности пользователя и его задач.

Подстановка текста


Мышь «С добрым утром!»


Управление Excel

Мы уже говорили, что на волшебные клавиши можно повесить программы, задачи и сокращения. В том числе, отдельные клавиши для офисных задач, например, запуск калькулятора. Но, кроме простых ярлыков, на свободные кнопки можно повесить половину бухгалтерии в Excel. Те, кто часто пользуется макросами в редакторе таблиц, знают, что настройка автоматизации — это настоящее программирование:


Но даже готовый скрипт не так просто включить: нужно найти под это свободную кнопку или отдать клавиатурное сочетание типа Ctrl + Пробел. Но оно наверняка уже занято какой-нибудь заводской функцией. Поэтому, выбирая клавиатуру с дополнительными свободными клавишами, бухгалтер избавляет себя от головной боли с запоминанием всех сокращений: есть кнопка — нет проблемы. С помощью кода, показанного выше, на одну из кнопок клавиатуры можно повесить быструю заливку выделенной ячейки цветом и сделать вот так:


Мышка-чертежница

Незаменимый инструмент архитектора или проектировщика: можно заставить мышь автоматически рисовать часто используемые фигуры. Например, круги, прямоугольники или треугольники:


Работа с сотнями объектов

Можно написать такой алгоритм, чтобы при нажатии на кнопку выделялись все файлы в папке и копировались в буфер обмена:


Вместо секретаря

Вместо того, чтобы идти в «Пуск» за кнопкой выключения, назначим горячую клавишу на мышь или клавиатуру, и они сделают все сами:


Игровая мышь и клавиатура — это удобно

Выбор клавиатуры или мыши не должен останавливать покупателя на этапе выбора между игровой или обычной периферией. Можно согласиться с тем, что раньше понятие игровых аксессуаров воспринималось и производителями, и пользователями несколько иначе — вычурный дизайн, яркий окрас и не всегда удобная эргономика в угоду внешнему виду.

Сегодня игровые аксессуары можно считать синонимом удобства, универсальности и комфорта. Поэтому ответ один: если выбирать, то сразу игровые. В числе их преимуществ имеются:

Читайте также: