
У меня беспроводная клавиатура и мышь 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>