Как полностью отключить и подключить USB-клавиатуру к ПК на Windows?

Вопрос или проблема

У меня есть USB-клавиатура (ASUS ROG Strix Scope RX) с LED-подсветкой, подключенная к моему ноутбуку.

Мне нужно, чтобы её LED-подсветка отключалась при отключении моего внешнего монитора (единственного, который я использую, так как крышка моего ноутбука закрыта), поэтому я использую OpenRGB для этой цели. Светодиоды отключаются, как и ожидалось, но затем, похоже, что OpenRGB имеет полный и исключительный контроль над LED, я больше не могу управлять ими с помощью Fn + стрелок. Единственное решение — это вручную отключить и снова подключить клавиатуру.

Основной вопрос: Как мне автоматически полностью отключить, а затем снова подключить клавиатуру, как будто я выдернул её USB-кабель из ноутбука и снова вставил, используя скрипты или команды?

Я пробовал использовать USBDeview.exe или devcon.exe, но безрезультатно.

Ниже приведён скрипт, который я пытался создать, чтобы использовать devcon.exe для удаления и последующего сканирования устройств, но он работает не так, как нужно, на самом деле классический звук Windows об устройстве USB, подключенном, воспроизводится, но, похоже, этого недостаточно, и это не совсем то, что нужно для фактического отключения и повторного подключения устройства.


script.bat

@echo off


:: Остановка службы HID перед отключением
powershell -Command "Stop-Service -Name 'hidserv'"

:: Удаление устройства клавиатуры (HID устройство)
devcon remove "HID\VID_0B05&PID_1951&MI_02&COL04"
timeout 2

:: Отключение USB Root Hub 3.0, чтобы отключить все устройства, подключенные к нему
devcon disable "USB\ROOT_HUB30"
timeout 2

:: Включение USB Root Hub 3.0, чтобы повторно подключить устройства
devcon enable "USB\ROOT_HUB30"
timeout 2

:: Сканирование устройств, чтобы обеспечить правильное обнаружение устройства
devcon rescan
timeout 2

:: Перезапуск службы HID для сброса драйвера клавиатуры
powershell -Command "Start-Service -Name 'hidserv'"

:: Снова сканирование для обнаружения любых устройств
devcon rescan

.

Ответ или решение

Как полностью отключить и заново подключить USB-клавиатуру на Windows

Вам требуется отключить и вновь подключить USB-клавиатуру, чтобы сбросить управление светодиодами, и вы уже попробовали различные скрипты, но без успеха. Мы рассмотрим детальный подход с использованием командной строки Windows для достижения необходимого результата.

Шаг 1: Подготовка необходимых инструментов

Для реализации этой задачи мы будем использовать утилиты, такие как devcon.exe и PowerShell. Если devcon еще не установлен, вы можете скачать его из пакета Windows Driver Kit (WDK). После установки убедитесь, что devcon.exe доступен из командной строки.

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

Шаг 2: Определение идентификатора устройства

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

  1. Откройте «Диспетчер устройств» в Windows (Device Manager).
  2. Найдите вашу клавиатуру.
  3. Щелкните правой кнопкой мыши на устройстве и выберите «Свойства».
  4. Перейдите на вкладку «Сведения» и выберите «ИД оборудования» из выпадающего списка. Скопируйте идентификатор устройства, который будет выглядеть как HID\VID_xxxx&PID_yyyy.

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

Шаг 3: Создание скрипта

Теперь создадим батник (script.bat) для автоматизации процесса отключения и подключения клавиатуры.

@echo off
:: Остановка службы HID перед отключением
powershell -Command "Stop-Service -Name 'hidserv'"

:: Удаление клавиатуры (HID устройство)
devcon remove "HID\VID_xxxx&PID_yyyy"
timeout 2

:: Отключение USB Root Hub для отключения всех подключенных устройств
devcon disable "USB\ROOT_HUB30"
timeout 2

:: Включение USB Root Hub для переподключения устройств
devcon enable "USB\ROOT_HUB30"
timeout 2

:: Повторный поиск устройств для обеспечения правильного обнаружения
devcon rescan
timeout 2

:: Запуск службы HID для сброса драйвера клавиатуры
powershell -Command "Start-Service -Name 'hidserv'"

:: Повторный поиск устройств
devcon rescan

Замена идентификатора: Обязательно замените HID\VID_xxxx&PID_yyyy на ваш актуальный идентификатор устройства.

Шаг 4: Запуск скрипта

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

Примечания

  1. Проверка служб: Убедитесь, что службы hidserv работают корректно после выполнения скрипта; в противном случае клавиатура может не работать должным образом.
  2. Отладка: Если клавиатура не подключается автоматически, проверьте журнал событий Windows на наличие ошибок или конфликты устройств.
  3. Cron или Task Scheduler: Чтобы автоматизировать эту задачу, вы можете создать задачу в Планировщике заданий Windows для запуска вашего скрипта при определенных условиях (например, при выключении монитора).

Заключение

Таким образом, использование командной строки для отключения и подключения устройства — это эффективный метод управления USB-клавиатурой. Следуя приведенным инструкциям, вы сможете как разрабатывать, так и отлаживать необходимый вам процесс с минимальными затруднениями. Если возникнут сложности, рекомендуется обратиться к более опытному системному администратору для дополнительной помощи.

Оцените материал
Добавить комментарий

Капча загружается...