如何在 Windows 上對應自訂羅技鍵盤按鍵?

如何在 Windows 上對應自訂羅技鍵盤按鍵?

我有羅技無線鍵盤和滑鼠 MK710。在 Fedora 上,我可以映射每個鍵,包括打開 CD 托盤的自訂鍵,事實上,我認為預設所有鍵都已正確映射。在 Windows 10 上,情況並非如此。我已經下載了與我的鍵盤相關的所有 Windows 程式/驅動程序,可在 Logitech 網站上找到。

我見過幾個 Windows 鍵盤映射程序,他們說它們不映射自定義 Logitech 鍵等,它們只映射 Windows 預設支援的鍵。

我聯繫了 Logitech,他們告訴我使用他們的名為 Setpoint 的軟體,我嘗試過,但它只檢測到計算機鍵。我回覆告訴他們他們的軟體無法運行,他們忽略了我的第二封電子郵件。

是否可以映射這些自訂鍵?目前我想要映射的鍵根本不執行任何操作。

答案1

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>

相關內容