Как подключить и настроить вторую клавиатуру через HidMacros

Драйвер HidMacros часто не определяет вторую клавиатуру автоматически, если не прописаны специфические правила фильтрации в файле конфигурации. Проблема заключается в том, что стандартный скрипт ищет только одно устройство с определенным VID и PID, игнорируя новые подключения. Чтобы система увидела второе устройство, необходимо вручную добавить его идентификаторы в секцию DeviceList конфигурационного файла.

Без этой манипуляции нажатия на дополнительной клавиатуре либо игнорируются полностью, либо обрабатываются как аналогичные нажатия на основной, что делает невозможным использование двух устройств для разных задач. Исправление требует прямого вмешательства в структуру ini или json файла настроек, где прописываются параметры каждого HID-устройства.

Введение в архитектуру HidMacros для многоклавиатурных систем

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

Основная сложность заключается в том, что при подключении второго устройства оно получает новый USB-адрес, но старые настройки могут продолжать ссылаться на адрес первого. Ключевым моментом является принудительная привязка скриптов к конкретному аппаратному ID второго устройства. Если этого не сделать, программа будет пытаться применить макросы основного устройства к новому, вызывая хаос в работе.

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

Идентификация и регистрация второго устройства

Первым шагом в настройке является получение уникальных кодов VID и PID для второй клавиатуры. Эти данные необходимы для того, чтобы программа HidMacros отличала ее от основной. Откройте Диспетчер устройств, найдите ваше устройство, перейдите во вкладку Сведения и выберите свойство ИД оборудования.

Скопируйте верхнюю строку, которая обычно выглядит как VID_045E&PID_0745&REV_0100. Эти значения нужно будет вставить в конфигурационный файл программы. Для второй клавиатуры часто требуется указать также Instance ID, если у устройств одинаковые VID и PID (например, две одинаковые модели от одного производителя).

⚠️ Внимание: Ошибка в одной цифре кода VID или PID приведет к тому, что устройство будет полностью игнорироваться программой, даже если оно физически подключено и работает в системе.

После получения кодов откройте файл конфигурации (обычно config.ini или settings.json) в текстовом редакторе. Найдите секцию, отвечающую за список поддерживаемых устройств. Добавьте новую строку с полученными идентификаторами. Убедитесь, что синтаксис скобок и запятых не нарушен, иначе программа не запустится.

Технические детали ID оборудования

Каждое USB-устройство имеет уникальный путь в системе. Для HID-клавиатур путь часто содержит"0001","0002" и т.д. Если у вас две одинаковые клавиатуры, разница будет именно в этих цифрах. Используйте PowerShell команду"Get-PnpDevice" для получения точного пути, если стандартный диспетчер не показывает полную информацию.

☑️ Проверка идентификации устройства

Выполнено: 0 / 4

Настройка конфигурационного файла и переназначение клавиш

Основная логика работы HidMacros строится на правилах, прописанных в конфигурационном файле. После добавления устройства в список, необходимо создать для него отдельный профиль или применить существующий с модификаторами. В разделе [KeyBindings] создайте новую секцию, привязанную к ID второго устройства.

Используйте синтаксис Key=Code для назначения действий. Например, чтобы клавиша Space на второй клавиатуре отправляла сигнал F13, пропишите соответствующее правило. Важно использовать префикс, указывающий на устройство, если формат файла это поддерживает (например, Device2.Key=Action).

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

📊 Какое устройство вы планируете использовать как второе
Игровая клавиатура
Макровый пульт
Старая клавиатура
Специализированная панель

Тестирование и отладка конфликтов ввода

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

Если нажатия игнорируются, проверьте, не перехватывает ли другой софт (например, Razer Synapse или Logitech G Hub) управление устройством. Эти программы часто конфликтуют с HidMacros, блокируя низкоуровневый доступ к HID-устройствам. Отключите их временно для проверки.

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

Параметр Основная клавиатура Вторая клавиатура Описание
VID 046D 045E Идентификатор вендора
PID C077 133E Идентификатор продукта
Instance 0001 0002 Уникальный экземпляр устройства
Action Typing Macro Назначение функции

⚠️ Внимание: Не игнорируйте сообщения об ошибках в логе программы. Ошибка"Device not found" часто означает, что путь к устройству изменился после обновления драйверов Windows.

Решение проблем с драйверами и совместимостью

Иногда проблема кроется не в настройках программы, а в драйверах USB-контроллера. В Диспетчере устройств проверьте наличие желтых восклицательных знаков в разделе Контроллеры USB. Обновите драйверы, используя функцию Обновить драйвер или скачав их с сайта производителя материнской платы.

В редких случаях система может блокировать HidMacros из-за настроек безопасности. Проверьте настройки UMAC (User Account Control) и разрешите приложению доступ к системным ресурсам. Также убедитесь, что антивирус не блокирует процесс перехвата ввода, так как это часто классифицируется как подозрительная активность.

Для современных версий Windows 10 и 11 может потребоваться отключение функции HVCI (Virtualization-Based Security), если программа не запускается с правами администратора. Это создает уязвимость, но часто необходимо для работы специализированного софта.

Продвинутые сценарии использования и автоматизация

После базовой настройки можно переходить к сложным сценариям, таким как создание профилей для разных приложений. HidMacros позволяет запускать разные скрипты в зависимости от активной программы. Например, в браузере вторая клавиатура может управлять вкладками, а в игре — открывать инвентарь.

Используйте функцию AppProfile для создания условий срабатывания. Пропишите путь к исполняемому файлу программы (.exe) и привяжите к нему соответствующий набор макросов. Это позволяет иметь универсальную клавиатуру, которая меняет свое назначение в зависимости от контекста работы.

Для автоматизации рутинных задач можно использовать скрипты на базе AutoHotkey внутри конфигурации HidMacros. Это открывает безграничные возможности для автоматизации ввода, рутинных операций и создания сложных комбинаций клавиш. Скриптинг позволяет создавать макросы любой сложности, включая задержки и циклы.

Часто задаваемые вопросы

Почему программа не видит вторую клавиатуру?

Чаще всего это связано с тем, что идентификаторы устройства (VID/PID) не добавлены в файл конфигурации или изменены после обновления прошивки. Также проверьте, неет ли другое ПО (Logitech G Hub, Razer Synapse) управление устройством.

Можно ли использовать две одинаковые клавиатуры?

Да, но необходимо использовать уникальные Instance ID для каждого устройства. Если система не различает их по ID, придется использовать физическое переподключение или менять порты USB для смены адресации.

Как сбросить настройки после ошибок?

Удалите или переименуйте файл конфигурации (config.ini). При следующем запуске программа создаст новый файл с настройками по умолчанию. Затем заново добавьте устройства и пропишите макросы.

Нужны ли права администратора для работы?

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

Работает ли это на Windows 11?

Да, HidMacros совместим с Windows 11, но может потребоваться отключение некоторых функций безопасности (например, Core Isolation) для корректной работы драйверов перехвата.