В данном проекте создается клавиатура на базе микроконтроллера, которая отправляет нажатия кнопок по USB и сопрягается с Windows приложением AutoHotKey, предназначенного для создания приложений и макросов.
AutoHotKey может использоваться с вашей оригинальной клавиатурой без необходимости дополнительной клавиатуры. Данное устройство не предназначено для всех, однако может применяться в следующих ситуациях:
- Использование одной кнопки вместо нажатия комбинации горячих клавиш
- Создание специальных контроллеров для игр и интерфейсов
- Создание специальных программных задач, например, использование каждой кнопки для сохранения различных типов идентификатора файла в приложении.
Программное обеспечение AutoHotKey может назначать любое действие на нажатие кнопки:
- Запуск приложений
- Многошаговые команды, выполняемые с помощью клавиатуры
- Упрощение действий при использовании ярлыков
- Запуск специфических веб-адресов
- Вставка сниппетов текста.
Данный проект является полностью экспериментальным. Для выполнения проекта понадобятся знания в области разработки схем и программирования arduino. При использовании микроконтроллера вы можете обратиться к сайту trinket, однако информации там не очень много.
Шаг 1: Используемые компоненты
Материалы / компоненты:
- Микроконтроллер Adafruit Trinket
- Механический клавиатурный блок Mx Cherry
- Небольшая печатная плата
- Резисторы: 1кОм (x4 штуки), 100кОм (x2 штуки)
- Припой
- Проводники.
Инструменты:
- Паяльник
- Ножовка по металлу
- Плоскогубцы.
Шаг 2: Модификация корпуса
В проекте используется клавиатурный блок mx cherry, но вы можете подобрать и другие устройства с несколькими переключателями: игровые контроллеры, цифровые блоки клавиатуры или просто переключатели, установленные на печатной плате.
В отдельных стенках корпуса нужно прорезать канавки. Это необходимо для размещения проводников внутри корпуса. Я использовал плоскогубцы для удаления пластиковых перегородок корпуса между верхними и нижними кнопками для пропуска большего количества проводников.
Шаг 3: Сборка схемы
Я начал с припаивания полноразмерного проводника к входам, заизолировав с другой стороны. Далее необходимо припаять резисторы и соединения между кнопками, и в завершении расположить все необходимые проводники.
Установите все компоненты так, чтобы они располагались на своих местах и не выступали. Далее припаяйте микроконтроллер и резисторы на печатную плату и подключите кнопки.
Шаг 4: Код Trinket Arduino
На данном шаге указан программный код, используемый в проекте. Возможно, вам потребуется внести некоторые изменения для входных значений для получения наилучших результатов. Я заменил кнопки с буквой F на кнопки с буквами и выполнил тестирование в блокноте.
Шаг 5: Код AutoHotKey
SetTitleMatchMode, 2
Hotstring to enter time stamp in document
; F6 and F7 keys always have the same function regardless of the active program
F6::
Run, «C:WindowsSysnativeSnippingTool.exe» ; opens snipping tool
return
#IfWinActive, Snipping Tool ; if snipping tool is open, the same button will close it
F6::
{ WinClose Snipping Tool }
return
#IfWinActive
F7::
FormatTime, CurrentDateTime,, yyyyMMdd ; inserts the current date in a specified format
SendInput %CurrentDateTime%
return
; F8 and F9 keys function varies by the active program
#IfWinActive, Program Manager ; functions if desktop is active
F8::
run taskmgr.exe ; open task manager
return
F9::
IfWinExist Google Chrome ; open Chrome or maximize window if open already
WinActivate, Google Chrome
else
run «C:Program Files (x86)GoogleChromeApplicationchrome.exe»
return
#IfWinActive
#IfWinActive, Chrome ; Chrome specific functions
F8::
Send, ^+{Tab} ; go left a tab
return
F9::
Send, ^{Tab} ; go right a tab
return
#IfWinActive
#IfWinActive ahk_class CabinetWClass ; windows explorer specific functions
F8::
Send, !{Up} ; go up a folder level
return
F9::
Send, ^n ; opens a new window
return
#IfWinActive
Шаг 6: Внесение изменений
Использование отдельного usb-устройства позволит вам выполнять нажатие кнопок в соответствии с вашими предпочтениями.
Прикрепленные файлы:
- minikeyboard.ino (2 Кб)