Как отобразить пользовательские клавиши клавиатуры 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>