Как сделать программируемую клавиатуру
Когда обычному человеку нужна новая клавиатура, он идёт в магазин. Когда клавиатура нужна программисту, он собирает её сам из компонентов. Иногда дело заходит слишком далеко, и программист начинает печатать корпуса на 3d-принтере, заказывать авторские клавиши и проводить дегустацию свитчей. Рассказываем, что это и зачем нужно.
Что такое кастомная клавиатура
Слово «кастомная» (от английского custom — нестандартный) означает, что изделие изготовлено на заказ. Когда программист сам себе собирает клавиатуру, — это тоже кастом, потому что на заводах не выпускают клавиатуры именно с такими параметрами.
Кастомную клавиатуру можно собрать:
- любой ширины и из любого количества клавиш;
- любого цвета;
- с любой подсветкой;
- с любой реакцией на нажатие каждой клавиши;
- любой формы и с любым дизайном.
Из чего состоит кастомная клавиатура
Чтобы собрать кастом, нам понадобятся компоненты — их можно купить готовые, заказать на производстве или изготовить самостоятельно в зависимости от ваших возможностей. Вот что это за детали:
Плата , на которой обычно находится контроллер и которая реагирует на замыкания контактов. Это «мозг» клавиатуры, который отвечает за передачу данных с устройства на компьютер.
Вместо платы можно использовать контроллеры типа Arduino , но тогда нужно как-то спаять контакты клавиш. Это не очень удобно, но вполне реализуемо.
Переключатели, или свитчи, — это механизмы, которые отвечают за нажатия на клавиши. В зависимости от механизма клавиши дают разный отклик и щелчок: какие-то требуют более сильного нажатия, какие-то легче; одни дают мощный щелчок, другие бесшумные; есть даже такие, которые делают два щелчка: один на нажатие, другой на отпускание клавиш.
Свитчи выглядят так:
Стабилизаторы — это устройства, которые не дают длинным клавишам шататься и люфтить. Длинным — это пробел, шифт, капслок, энтер и другие. Под каждую такую клавишу нужен свой стабилизатор:
Пластина , которая будет держать переключатели, чтобы они не вывалились из клавиатуры. Лучше всего брать металлическую, они прочнее, чем пластиковые:
Корпус, чтобы собрать всё вместе.
Кейкапы, колпачки — клавиши, которые мы видим на клавиатуре. Кейкап — это не сама клавиша, а пластиковый колпачок, который надевается на свитч. Его можно вытащить из одного гнезда и поставить в другое — нажиматься будет точно так же. Например, вот кастомные кейкапы с Дартом Вейдером и Бэтменом:
Ещё при желании можно добавить в клавиатуру светодиоды для красоты. Тут тоже есть выбор: купить их отдельно, вместе с переключателем или распаянные на плате:
Как работает механическая клавиша
В клавиатурах есть несколько типов клавиш:
- Мембранные — для нажатия надо продавить резиновую мембрану. Обычно такие клавиши имеют небольшой ход нажатия и тихо работают.
- Ножничные — кейкап держится на тонком механизме, напоминающем ножницы, отсюда и название. В большинстве ноутбуков стоят ножничные клавиатуры.
- Механические — это наш случай. В них, чтобы замкнуть контакт, используется специальный механизм с пружиной, подвижным штоком, токопроводящими контактами и корпусом, внутри которого это всё находится. Они большие и издают характерное щёлканье при нажатии, как в фильмах про хакеров.
Почти все кастомные клавиатуры делают с механическими клавишами по двум причинам:
- Свитчи проще монтировать на плату, чем всё остальное.
- Можно подобрать свитч с нужными для себя параметрами. Например, длинным или коротким свободным ходом, жёсткостью, скоростью возврата, скоростью срабатывания и так далее.
Работает переключатель так:
- Есть контактная пара. Если её замкнуть — клавиатура поймёт, что на клавишу нажали.
- В обычном состоянии контактная пара разомкнута и сигнал не идёт. За это отвечает белая деталь на схеме ниже.
- Когда мы нажимаем на клавишу, она давит на синий шток, а шток — на белый размыкатель. Как только размыкатель проваливается вниз, контакты соединяются и сигнал идёт на клавиатуру.
- Когда палец убран, пружина поднимает обе части наверх, и клавиша снова готова к тому, чтобы на неё нажали.
Как собрать всё вместе
Общая последовательность такая:
- Берём плату и устанавливаем стабилизаторы под большие клавиши. Это делаем сразу, потому что потом будет уже не подлезть.
- Ставим пластину.
- Припаиваем к плате контакты свитчей. Есть клавиатуры с готовыми разъёмами под свитчи, туда контакты можно просто вставить и зажать.
- Если нужны светодиоды — тоже припаиваем.
- Ставим плату со свитчами в корпус.
- Надеваем кейкапы на свитчи.
Звучит просто, но на деле это может занять от пары-тройки часов до нескольких вечеров — всё зависит от необходимости пайки и того, как все элементы подходят друг к другу.
Программирование кастомной клавиатуры
Часто кастомы делают ради расширения стандартных возможностей, например:
- сделать переключение языка отдельной кнопкой;
- повесить на какие-то клавиши нестандартные действия, например, копирование и вставку сделать тоже отдельными кнопками;
- сократить в 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 — открываем раздел "макрос"
Далее нажать кнопку "Создать макрос" и дать ему имя (лучше использовать название игры или приложения, для которого макрос создается, чтобы вы по имени могли легко сориентировать к чему и зачем это. ).
ШАГ 2 — название макроса
Теперь для созданного макроса нам нужно записать комбинацию нажатий мыши и клавиатуры: именно ее потом программа и будет воспроизводить (эмулировать нажатия за нас!).
Для этого нужно нажать по кнопке "Запись" , и указать: нужно ли запоминать нажатия мыши и клавиатуры (в своем примере я выбрал вариант "Записывать нажатия клавиш с клавиатуры" ).
ШАГ 3 — начать запись
После нажмите на клавиатуре последовательно всё клавиши, которые программа должна запомнить и записать! Учтите, что она запоминает даже паузы между нажатиями клавиш!
нажимаем последовательность клавиш
Теперь нам нужно этот макрос (последовательность клавиш) установить на какую-нибудь реальную клавишу — т.е. когда мы нажмем на неё — он и сработает.
ШАГ 4 — присваиваем макросу клавишу
Далее нужно нажать кнопку "Запустить" , чтобы программа начала отслеживать все нажатия на указанную нами клавишу "Z".
Осталось только войти в нужную нам игру/приложение (для которого мы создали макрос), и нажать кнопку активации макроса — в моем случае "Z".
ШАГ 5 — испытания! // Скриншот из игры World of Warcraft
Разумеется, мой показанный пример очень прост и бесхитростный. Однако, если вы никогда не сталкивались с этим — то начинать лучше с малого, потихоньку усложняя и накручивая "свои заготовки".
Примечание : кстати, не во всех играх приветствуются подобные макросы. В ряде случаев они могут сильно влиять на итоговый результат, сильно улучшая навыки игрока.
Какие утилиты можно порекомендовать для начинающих
Разумеется, программ и утилит подобного рода достаточно много. В этой заметке у меня нет цели представить их все (с описанием плюсов и минусов) — самое главное дать несколько наводок для начинающих.
BotMek
BotMek: главное окно программы
Добротная программа, позволяющая легко написать макросы на клавиатуру и мышку (причем, программа позволяет это делать даже для самых обычных моделей, не относящихся к игровым).
Стоит отметить ее хорошую совместимость с онлайн-играми: она может выполнить за вас связку (комбо) ударов, уменьшить отдачу от оружия, ускорить процесс закупок и т.д.
- совместимость с любыми моделями мышек и клавиатур;
- рассчитана на новичка (спец. знаний не требуется);
- есть коллекция готовых макросов для популярных игр;
- позволяет пользоваться одновременно сразу неск. макросами;
- совместима с Windows 7/8/10 (работает "тихо" и не отвлекает различными окнами и напоминаниями. ).
TinyTask
TinyTask — совсем небольшая утилита (несколько килобайт веса), позволяющая записывать и воспроизводить активность реальной клавиатуры/мыши (т.е. являться на время их программным эмулятором).
Отлично подходит для решения и автоматизации рутинных задач.
Недостаток : есть неудобства при работе сразу с несколькими макросами (переключение не удобно).
Macros Effects: Макроскин (ME)
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 + Пробел. Но оно наверняка уже занято какой-нибудь заводской функцией. Поэтому, выбирая клавиатуру с дополнительными свободными клавишами, бухгалтер избавляет себя от головной боли с запоминанием всех сокращений: есть кнопка — нет проблемы. С помощью кода, показанного выше, на одну из кнопок клавиатуры можно повесить быструю заливку выделенной ячейки цветом и сделать вот так:
Мышка-чертежница
Незаменимый инструмент архитектора или проектировщика: можно заставить мышь автоматически рисовать часто используемые фигуры. Например, круги, прямоугольники или треугольники:
Работа с сотнями объектов
Можно написать такой алгоритм, чтобы при нажатии на кнопку выделялись все файлы в папке и копировались в буфер обмена:
Вместо секретаря
Вместо того, чтобы идти в «Пуск» за кнопкой выключения, назначим горячую клавишу на мышь или клавиатуру, и они сделают все сами:
Игровая мышь и клавиатура — это удобно
Выбор клавиатуры или мыши не должен останавливать покупателя на этапе выбора между игровой или обычной периферией. Можно согласиться с тем, что раньше понятие игровых аксессуаров воспринималось и производителями, и пользователями несколько иначе — вычурный дизайн, яркий окрас и не всегда удобная эргономика в угоду внешнему виду.
Сегодня игровые аксессуары можно считать синонимом удобства, универсальности и комфорта. Поэтому ответ один: если выбирать, то сразу игровые. В числе их преимуществ имеются:
Читайте также: