
我有羅技無線鍵盤和滑鼠 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>