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

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

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

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

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

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

решение1

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

Я предлагаю избегать 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%
}

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

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

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

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

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

решение2

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

%USERPROFILE%\AppData\Roaming\Logitech\SetPoint

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

Например, для клавиатуры Logitech K530 я хотел сопоставитьГаджетыключ (вверху слева) иМедиа центрклавиша (вверху справа) для перемещения приложений на монитор слева/справа.

Я использовалSwitchMonitorLeftиSwitchMonitorRightHandlerSets — другие примеры можно найти в файле 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>

и это дляМедиа центрключ:

<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>

Связанный контент