7

I have Logitech wireless keyboard and mouse MK710. On Fedora I could map every key including a custom key that opens a CD tray, in fact I think all keys were mapped correctly by default. On Windows 10, that's not the case. I've downloaded every windows program/driver related to my keyboard, available on Logitech's website.

I've seen couple of keyboard mapping programs for windows, they say that they don't map custom Logitech keys and such, they only map keys that are supported by default in windows.

I've contacted Logitech, they told me to use their software called Setpoint, I tried but it only detects the calculator key. I replied telling them them that their software didn't work, they ignored my second email.

Is it possible to map these custom keys? Currently the keys I want to map do nothing at all.

16
  • The latest SetPoint is now version 8.96.88. Try also this fix. Otherwise, replace SetPoint by AutoHotkey (useful link).
    – harrymc
    Feb 11, 2018 at 7:25
  • Try one of these? superuser.com/questions/437815/…
    – undo
    Feb 11, 2018 at 17:40
  • @rahuldottech my problem is keyboard not mouse
    – Lynob
    Feb 11, 2018 at 19:24
  • @PimpJuiceIT tried what you said yesterday, didnt work
    – Lynob
    Feb 11, 2018 at 19:24
  • @harrymc where can i find setpoint version you referred to? the version i have is the one i see on their site, 6.67.82
    – Lynob
    Feb 11, 2018 at 19:27

2 Answers 2

5
+50

Setpoint is very bad on custom keys, and in addition it has the bad habit of swallowing up some of these keys, such as the multimedia keys, so they are unavailable to other programs.

I suggest to avoid Setpoint and to use instead AutoHotkey.

Your first step is to find out the scan-codes of the special keys. Since we are using AutoHotkey, create a .ahk file, and enter and run the following scriptlet (source):

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%
}

Run it and when the GUI is in focus press a key and the scancode will be displayed and copied to the clipboard in the format for using as hotkey or with Send commands.

The scancodes can be used in a scriptlet. For example, use the Browser multimedia key to run Firefox:

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

Once the scriptlet is complete, you may store it in the Startup folder so it will run automatically with Windows.

You may need to search for command-line programs that can do the operations you need. For example, sound can be controlled by the free NirCmd.

4
  • 1
    the autohotkey script is detecting all keys except the key i want, what to do in that case? like windows isn't reading the key to start with
    – Lynob
    Feb 13, 2018 at 13:57
  • Some keys are used by the keyboard firmware to modify the behavior of other keys. An example is the Fn key on most laptops. Unfortunately, such keys do not generate scancodes and so cannot be mapped.
    – harrymc
    Feb 13, 2018 at 14:22
  • See this all the keys are generating codes except the one that ejects the cd tray on the top right, next to the calculator key. on linux it's working. everything is generating codes for autohotkey except this one
    – Lynob
    Feb 13, 2018 at 14:57
  • I understand, but if the key doesn't generate a scan-code then this is a problem with its firmware and cannot be solved. You may assign another key or combination for ejecting by using AutoHotkey and the utility NirCmd.
    – harrymc
    Feb 14, 2018 at 9:20
0

As per others, changing the user.xml file that is written to

%USERPROFILE%\AppData\Roaming\Logitech\SetPoint

is the only way I could get it to work properly.

For example, for a Logitech K530 keyboard, I wanted to map the Gadgets key (top left) and the Media Center key (top right) to move applications to the monitor on the left/right.

I used the SwitchMonitorLeft and SwitchMonitorRight HandlerSets - other examples can be found in C:\Program Files\Logitech\SetPointP\default.xml file.

This is what worked for the Gadgets key:

<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>

and this for the Media Center key:

<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>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .