У меня есть Lenovo Mini Wireless Keyboard N5901 (он же № 57Y6336), который я использую с моим HTPC под управлением Windows 7.

Пульт ДУ имеет оранжевую кнопку в верхнем левом углу, которая по умолчанию при нажатии открывает окно Windows "Мой компьютер". Я хотел бы переназначить / перепрограммировать эту кнопку, чтобы она действовала как зеленая кнопка "Windows Media Center" вместо этого на пульте Windows Media Center (WMC); то есть откройте Windows Media Center, если он еще не открыт, или перейдите на домашнюю страницу WMC, если WMC уже открыт.

Я пробовал несколько утилит переназначения клавиатуры (как рекомендовано в других, более общих «как переназначить клавишу клавиатуры?«Вопросы SuperUser.com), включая SharpKeys, Key Mapper и KeyTweak, но пока безуспешно. Ни одна из этих утилит не распознает оранжевую кнопку - все они распознают, что какая-то клавиша была нажата, но отображают значение для клавиши "неподдерживаемый" или что-то подобное.

Я смог использовать утилиту под названием « Генератор кода сканирования клавиатуры», чтобы определить, что нажатие оранжевой кнопки имеет значение KeyData 16777217 (0x1000001) и значение "Виртуальный код" 182. (Другие кнопки "мультимедиа" на N5901 имеют то же значение KeyData, но разные значения виртуального кода).

Я не уверен в том, что в Windows это нажатие клавиши интерпретируется как команда открыть «Мой компьютер». Для этого устройства нет специального программного обеспечения / драйверов; Он работал из коробки с Windows 7, никакой специальной установки драйвера не требуется.

Есть ли способ сделать это?

Спасибо заранее за любые предложения!

3 ответа3

1

вставьте это в скрипт autohotkey:

VKB6:: run c:\windows\ehome\ehshell.exe

1

Примечание для тех, кто хочет быстро исправить это, для которого не требуется никакого программного обеспечения сторонних производителей: Откройте regedit , перейдите по HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17

Измените значение ShellExecute с текущего значения (::{20D04FE0-3AEA-1069-A2D8-08002B30309D} , которое идентифицирует "Мой компьютер") на любое приложение, которое вы хотите запустить (например, блокнот).

Имейте в виду, что это приведет к повторному сопоставлению клавиши "Мой компьютер" на любой клавиатуре (у моего Dell на работе есть такая, я сделал это для повторного сопоставления клавиши WMP, необходимой для открытия подсказки cmd).

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

0

Я думаю, я понял это! Ответ от Кирка выше указал мне правильное направление.

Я использую этот скрипт AutoHotKey :

VKB6::  ;On a press of the Lenovo N5901 orange button:
  if WinActive("Windows Media Center")  ;Is WMC the current active window?
    Send #!{Enter}  ;Act like a "green button" press (go to WMC main menu)
  else
    run c:\windows\ehome\ehshell.exe  ;Run/activate WMC
  return

Этот сценарий выполняет следующие действия при нажатии оранжевой кнопки на пульте дистанционного управления Lenovo N5901:

  1. Если Windows Media Center (WMC) не работает, запустите его.
  2. Если WMC запущен, но не является активным окном, активируйте его.
  3. Если WMC является активным окном, перейдите в главное меню WMC. (В качестве бонуса, второе нажатие оранжевой кнопки вернется туда, где вы были раньше в WMC.)
  4. Подавить поведение по умолчанию при вызове "Мой компьютер" нажатием оранжевой кнопки.

По сути, этот скрипт превращает оранжевую кнопку N5901 в «зеленую кнопку» стандартного пульта Windows Media Center.

Кредит идет на два источника для компонентов этого скрипта:

(1) Ответ Кирка, приведенный выше, за то, что в первую очередь указал мне на AutoHotKey, за код клавиши, фиксирующий нажатие оранжевой кнопки (VBK6), и средства для запуска / активации WMC (ehshell.exe).

(2) Сообщение на форумах AutoHotKey от artificeren со сценарием AutoHotKey, демонстрирующее, как условно выбрать, какое действие выполнять в зависимости от того, является ли WMC текущим активным окном, и как имитировать нажатие клавиши на пульте Windows Media Center. зеленая кнопка "(перейти в / из главного меню в WMC).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .