Как отобразить пользовательские клавиши клавиатуры Logitech в Windows?

У меня есть беспроводная клавиатура Logitech и мышь MK710. В Fedora я мог сопоставить каждый ключ, включая настраиваемый ключ, открывающий лоток для компакт-дисков, фактически я думаю, что все ключи были сопоставлены правильно по умолчанию. В Windows 10 это не так. Я скачал все программы / драйверы для Windows, связанные с моей клавиатурой, доступные на веб-сайте Logitech.

Я видел несколько программ сопоставления клавиатуры для окон, они говорят, что они не отображают пользовательские ключи Logitech и т. Д., Они только отображают ключи, которые по умолчанию поддерживаются в окнах.

Я связался с Logitech, они сказали мне использовать их программное обеспечение под названием Setpoint, я пытался, но он обнаруживает только ключ калькулятора. Я ответил им, что их программное обеспечение не работает, они проигнорировали мое второе письмо.

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

2 ответа

Решение

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

Я предлагаю избегать Setpoint и использовать вместо AutoHotkey.

Ваш первый шаг - узнать коды сканирования специальных клавиш. Поскольку мы используем AutoHotkey, создайте .ahk файл, введите и запустите следующий скриптлет ( источник):

SetFormat, Integer, Hex
Gui +ToolWindow -SysMenu +AlwaysOnTop
Gui, Font, s14 Bold, Arial
Gui, Add, Text, w100 h33 vSC 0x201 +Border, {SC000}
Gui, Show,, % "// ScanCode //////////"
Loop 9
  OnMessage( 255+A_Index, "ScanCode" ) ; 0x100 to 0x108
Return

ScanCode( wParam, lParam ) {
 Clipboard := "SC" SubStr((((lParam>>16) & 0xFF)+0xF000),-2) 
 GuiControl,, SC, %Clipboard%
}

Запустите его, и когда GUI будет в фокусе, нажмите клавишу, и скан-код будет отображен и скопирован в буфер обмена в формате для использования в качестве горячей клавиши или с командами отправки.

Скан-коды могут быть использованы в скриптлете. Например, используйте мультимедийную клавишу Browser для запуска Firefox:

SC032::Run "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"

Как только скриптлет будет завершен, вы можете сохранить его в папке "Автозагрузка", чтобы он автоматически запускался с Windows.

Возможно, вам придется искать программы командной строки, которые могут выполнять необходимые операции. Например, звук можно контролировать с помощью бесплатного NirCmd.

По мнению других, изменение файла user.xml, записанного в

      %USERPROFILE%\AppData\Roaming\Logitech\SetPoint

это единственный способ заставить его работать правильно.

Например, для клавиатуры Logitech K530 я хотел сопоставить клавишу «Гаджеты» (вверху слева) и клавишу Media Center (вверху справа), чтобы перемещать приложения на монитор слева/справа.

Я использовал наборы обработчиков SwitchMonitorLeft и SwitchMonitorRight — другие примеры можно найти в файле C:\Program Files\Logitech\SetPointP\default.xml.

Вот что сработало для ключа «Гаджеты» :

      <Button Number="589885" Name="Gadgets">
   <Param IconLoc="Devices\Keyboard\CommonIcons\Gadgets" Type="HOTKEY"/>
   <Trigger Class="ButtonPress">
      <Param Button="589885" EventType="100663297" FirstRepeatDelay="0" RepeatDelay="0" Silent="0" Type="0"/>
      <TriggerState Name="ButtonDownUp" HandlerSet="SwitchMonitorLeft">
      </TriggerState>
   </Trigger>
</Button>

и это для ключа Media Center :

      <Button Number="12320781" Name="Media Player">
   <Param IconLoc="Devices\Keyboard\CommonIcons\mediacenternew" Type="HOTKEY"/>
   <Trigger Class="ButtonPress">
      <Param Button="12320781" EventType="100663297" FirstRepeatDelay="0" RepeatDelay="0" Silent="0" Type="0"/>
      <TriggerState Name="ButtonDownUp" HandlerSet="SwitchMonitorRight">
      </TriggerState>
   </Trigger>
</Button>
Другие вопросы по тегам