Search code examples
keyboardlogitechlogitech-gaming-softwaremedia-keys

Media Keys of MX Keys Not Working After Installing Logitech Options


I recently purchased this MX Keys and MX Master combo and was excited to use the keyboard to its full potential but the media keys is not working after I installed the Logitech options software.

There is not much research available about it online. So, I am kind of desperate. Some guy suggested to alter the .xml file of the options software but I have no idea what kind of an edit is needed. Any help is welcome at this point. I have pasted the .xml code below for anyone to look.

  <features>
    <feature id="0x1000">
      <params>
        <param name="numberOfLevels" value="4" />
        <param name="flags" value="4" />
        <param name="nominalBatteryLife" value="49158" />
        <param name="batteryCriticalLife" value="10" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1b04">
      <params />
      <controlids>
        <controlid rawxy="0" rawwheel="0" id="0x000a" reprogrammable="true" type="hotkey" taskidlist="calculatorList">
          <task minver="10" id="0x10045" class="virtualkeyex">
            <params alt="0" configure="0" ctrl="1" shift="0" vkey="37" win="1" prs="300" pss="30" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x006e" reprogrammable="true" type="fkey" fpos="5" taskidlist="showdesktopTaskidList">
          <task id="0x0043" class="keystroke">
            <params command="*d" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x006f" reprogrammable="true" type="hotkey" taskidlist="lockScreenTaskidList">
          <task id="0x0044" class="powermanagement">
            <params command="lockpc" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00bf" reprogrammable="true" type="hotkey" taskidlist="printscreenTaskidList">
          <task divert="0" id="0x009b" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00c7" reprogrammable="true" type="fkey" fpos="1" taskidlist="brightnessDownTaskidlist">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\Windows\System32\Taskmgr.exe" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00c8" reprogrammable="true" type="fkey" fpos="2" taskidlist="brightnessUpTaskidlist">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\Program Files\WindowsApps\NVIDIACorp.NVIDIAControlPanel_8.1.961.0_x64__56jybvy8sckqj\nvcplui.exe" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d1" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d2" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d3" reprogrammable="false" type="hotkey">
          <task duplicate="45" id="0x00b0" class="keystroke">
            <params command7="*f" command8="*q" command10="*s" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e0" reprogrammable="true" type="fkey" fpos="3" taskidlist="taskviewTaskIdlist">
          <task id="0x10009" class="filelauncher">
            <params configure="1" exe="D:\GM\System Folders\Desktop" lookuppath="1" foldername="D:\GM\System Folders\Desktop" openfolder="1" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e1" reprogrammable="true" type="fkey" fpos="4" taskidlist="actionCenterTaskIdlist">
          <task id="0x000a" class="filelauncher">
            <params commandlineargs="" exe="calc.exe" lookuppath="1" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e2" reprogrammable="true" type="fkey" fpos="6" taskidlist="backlightdownTaskIdlist">
          <task divert="0" id="0x00c1" class="virtualkey">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e3" reprogrammable="true" type="fkey" fpos="7" taskidlist="backlightupTaskIdlist">
          <task divert="0" id="0x00c2" class="virtualkey">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e4" reprogrammable="true" type="fkey" fpos="8" taskidlist="previousTrackTaskIdlist">
          <id="0x0006" class="media">
            <params command="previous" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e5" reprogrammable="true" type="fkey" fpos="9" taskidlist="playpauseTrackTaskIdlist">
          <id="0x0004" class="media">
            <params command="play_pause" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e6" reprogrammable="true" type="fkey" fpos="10" taskidlist="nextTrackTaskIdlist">
          <id="0x0005" class="media">
            <params command="next" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e7" reprogrammable="true" type="fkey" fpos="11" taskidlist="muteTaskIdlist">
          <task id="0x0003" class="volumecommand">
            <params command="volmute" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e8" reprogrammable="true" type="fkey" fpos="12" taskidlist="volDownTaskIdlist">
          <task id="0x0002" class="volumecommand">
            <params command="voldown" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e9" reprogrammable="true" type="hotkey" taskidlist="volUpTaskIdlist">
          <task id="0x0001" class="volumecommand">
            <params command="volup" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00ea" reprogrammable="true" type="hotkey" taskidlist="appMenuTaskIdlist">
          <task minver="10" id="0x10044" class="virtualkeyex">
            <params alt="0" configure="0" ctrl="1" shift="0" vkey="39" win="1" prs="300" pss="30" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00eb" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00ec" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
      </controlids>
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1814">
      <params>
        <param name="nbHost" value="3" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1815">
      <params>
        <param name="nbHost" value="3" />
        <param name="eQuadHDCapability" value="0" />
        <param name="USBHDCapability" value="0" />
        <param name="BTHDCapability" value="1" />
        <param name="BLEHDCapability" value="0" />
        <param name="GetNameCapability" value="1" />
        <param name="SetNameCapability" value="1" />
        <param name="MoveHostCapability" value="0" />
        <param name="DeleteHostCapability" value="0" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1982">
      <params>
        <param name="enableBacklight" value="1" />
        <param name="wow" value="1" />
        <param name="powerSave" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x40a3">
      <params>
        <param name="fnInversionState" value="1" />
        <param name="fnInversionDefaultState" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x4521">
      <params>
        <param name="winKey" value="0" />
        <param name="insertKey" value="0" />
        <param name="scrollLockKey" value="0" />
        <param name="numLockKey" value="0" />
        <param name="capsLockKey" value="0" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x4531">
      <params>
        <param name="nbHost" value="3" />
        <param name="osDetectionCapability" value="1" />
        <param name="setHostPlatformCapability" value="1" />
        <param name="autoHostSwitch" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
  </features>

Solution

  • There is an easy fix to this. Just add the divert values to the .xml file which are missing in the code you have shown. If you look a little closer, the keys which are not working are missing one value compared to the rest of the keys and that's why it is not working the way it is supposed to. Logitech should have fixed it by now.

    I have owned the same keyboard for more than a year now and this issue is as old as the keyboard itself.

    You can try this code and let me know if it works for you.

      <features>
    <feature id="0x1000">
      <params>
        <param name="numberOfLevels" value="4" />
        <param name="flags" value="4" />
        <param name="nominalBatteryLife" value="49158" />
        <param name="batteryCriticalLife" value="10" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1b04">
      <params />
      <controlids>
        <controlid rawxy="0" rawwheel="0" id="0x000a" reprogrammable="true" type="hotkey" taskidlist="calculatorList">
          <task minver="10" id="0x10045" class="virtualkeyex">
            <params alt="0" configure="0" ctrl="1" shift="0" vkey="37" win="1" prs="300" pss="30" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x006e" reprogrammable="true" type="fkey" fpos="5" taskidlist="showdesktopTaskidList">
          <task id="0x0043" class="keystroke">
            <params command="*d" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x006f" reprogrammable="true" type="hotkey" taskidlist="lockScreenTaskidList">
          <task id="0x0044" class="powermanagement">
            <params command="lockpc" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00bf" reprogrammable="true" type="hotkey" taskidlist="printscreenTaskidList">
          <task divert="0" id="0x009b" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00c7" reprogrammable="true" type="fkey" fpos="1" taskidlist="brightnessDownTaskidlist">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\Windows\System32\Taskmgr.exe" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00c8" reprogrammable="true" type="fkey" fpos="2" taskidlist="brightnessUpTaskidlist">
          <task id="0x10004" class="filelauncher">
            <params configure="1" exe="C:\Program Files\WindowsApps\NVIDIACorp.NVIDIAControlPanel_8.1.961.0_x64__56jybvy8sckqj\nvcplui.exe" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d1" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d2" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid generic="1" rawxy="0" rawwheel="0" id="0x00d3" reprogrammable="false" type="hotkey">
          <task duplicate="45" id="0x00b0" class="keystroke">
            <params command7="*f" command8="*q" command10="*s" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e0" reprogrammable="true" type="fkey" fpos="3" taskidlist="taskviewTaskIdlist">
          <task id="0x10009" class="filelauncher">
            <params configure="1" exe="D:\GM\System Folders\Desktop" lookuppath="1" foldername="D:\GM\System Folders\Desktop" openfolder="1" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e1" reprogrammable="true" type="fkey" fpos="4" taskidlist="actionCenterTaskIdlist">
          <task id="0x000a" class="filelauncher">
            <params commandlineargs="" exe="calc.exe" lookuppath="1" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e2" reprogrammable="true" type="fkey" fpos="6" taskidlist="backlightdownTaskIdlist">
          <task divert="0" id="0x00c1" class="virtualkey">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e3" reprogrammable="true" type="fkey" fpos="7" taskidlist="backlightupTaskIdlist">
          <task divert="0" id="0x00c2" class="virtualkey">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e4" reprogrammable="true" type="fkey" fpos="8" taskidlist="previousTrackTaskIdlist">
          <task divert="0" id="0x0006" class="media">
            <params command="previous" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e5" reprogrammable="true" type="fkey" fpos="9" taskidlist="playpauseTrackTaskIdlist">
          <task divert="0" id="0x0004" class="media">
            <params command="play_pause" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e6" reprogrammable="true" type="fkey" fpos="10" taskidlist="nextTrackTaskIdlist">
          <task divert="0" id="0x0005" class="media">
            <params command="next" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e7" reprogrammable="true" type="fkey" fpos="11" taskidlist="muteTaskIdlist">
          <task id="0x0003" class="volumecommand">
            <params command="volmute" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e8" reprogrammable="true" type="fkey" fpos="12" taskidlist="volDownTaskIdlist">
          <task id="0x0002" class="volumecommand">
            <params command="voldown" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00e9" reprogrammable="true" type="hotkey" taskidlist="volUpTaskIdlist">
          <task id="0x0001" class="volumecommand">
            <params command="volup" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00ea" reprogrammable="true" type="hotkey" taskidlist="appMenuTaskIdlist">
          <task minver="10" id="0x10044" class="virtualkeyex">
            <params alt="0" configure="0" ctrl="1" shift="0" vkey="39" win="1" prs="300" pss="30" />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00eb" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
        <controlid rawxy="0" rawwheel="0" id="0x00ec" reprogrammable="false" type="hotkey">
          <task id="0xffff" class="donothing">
            <params />
          </task>
          <remappableids />
          <actions />
        </controlid>
      </controlids>
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1814">
      <params>
        <param name="nbHost" value="3" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1815">
      <params>
        <param name="nbHost" value="3" />
        <param name="eQuadHDCapability" value="0" />
        <param name="USBHDCapability" value="0" />
        <param name="BTHDCapability" value="1" />
        <param name="BLEHDCapability" value="0" />
        <param name="GetNameCapability" value="1" />
        <param name="SetNameCapability" value="1" />
        <param name="MoveHostCapability" value="0" />
        <param name="DeleteHostCapability" value="0" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x1982">
      <params>
        <param name="enableBacklight" value="1" />
        <param name="wow" value="1" />
        <param name="powerSave" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x40a3">
      <params>
        <param name="fnInversionState" value="1" />
        <param name="fnInversionDefaultState" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x4521">
      <params>
        <param name="winKey" value="0" />
        <param name="insertKey" value="0" />
        <param name="scrollLockKey" value="0" />
        <param name="numLockKey" value="0" />
        <param name="capsLockKey" value="0" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    <feature id="0x4531">
      <params>
        <param name="nbHost" value="3" />
        <param name="osDetectionCapability" value="1" />
        <param name="setHostPlatformCapability" value="1" />
        <param name="autoHostSwitch" value="1" />
      </params>
      <controlids />
      <fn_controlids />
      <gestures />
      <fn_gestures />
      <events />
    </feature>
    

    Do save a copy of the original file before editing anything! Restart if nothing seems to change after the edit.