如何在 Windows 上映射自定义 Logitech 键盘按键?

如何在 Windows 上映射自定义 Logitech 键盘按键?

我有 Logitech 无线键盘和鼠标 MK710。在 Fedora 上,我可以映射每个键,包括打开 CD 托盘的自定义键,事实上,我认为默认情况下所有键都已正确映射。在 Windows 10 上,情况并非如此。我已经下载了与我的键盘相关的所有 Windows 程序/驱动程序,可在 Logitech 的网站上找到。

我见过几个适用于 Windows 的键盘映射程序,他们说他们不映射自定义的 Logitech 按键等,他们只映射 Windows 中默认支持的按键。

我联系了 Logitech,他们告诉我使用他们的软件 Setpoint,我试过了,但它只检测到计算器键我回复告诉他们他们的软件不起作用,他们忽略了我的第二封电子邮件。

是否可以映射这些自定义键?目前我想要映射的键根本没有任何作用。

答案1

Setpoint 在自定义按键方面表现非常糟糕,此外它还有吞噬部分按键(如多媒体按键)的坏习惯,导致其他程序无法使用它们。

我建议避免使用 Setpoint,而使用 自动热键

您的第一步是找出特殊键的扫描码。由于我们使用 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 处于焦点时按下一个键,扫描码将显示并以热键或发送命令的格式复制到剪贴板。

扫描码可以在脚本中使用。例如,使用浏览器多媒体键来运行 Firefox:

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

脚本完成后,您可以将其存储在启动文件夹中,以便它将随 Windows 自动运行。

您可能需要搜索可以执行所需操作的命令行程序。例如,可以通过免费的 近红外命令

答案2

按照其他人的说法,更改写入的 user.xml 文件

%USERPROFILE%\AppData\Roaming\Logitech\SetPoint

是让它正常工作的唯一方法。

例如,对于 Logitech K530 键盘,我想映射小工具键(左上角)和媒体中心键(右上方)将应用程序移动到左侧/右侧的显示器。

我用的是切换监视器左切换监视器右HandlerSets - 其他示例可以在 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>

相关内容