14

As per the recent Reddit post, some of the Hotkeys cannot be assigned as shortcuts and the Screenshot shortcuts do not work at all no matter which shortcut combo is selected.

My Xiaomi Mibook has media hotkeys for media (volume uo/volume down/mute) and dedicated key for screenshot. All of this cannot be assigned directly. When I try to assing media key for mute for example, it disables the key. I can however assign the mute key in combination with some other key (e.g WindowsKey+MuteKey) and it works fine.

The kernel has the correct keys assigned however.

xdev for the mute key gives the following debug info: KeyPress event, serial 37, synthetic NO, window 0x3400001, root 0xb5, subw 0x0, time 4059162, (10,-14), root:(751,360), state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

xmodmap -pke confirms that they key number observed in xdev is indeed assigned the mute function: keycode 121 = XF86AudioMute NoSymbol XF86AudioMute

dconf-editor, also confirms that the correct audio functions are assigned

2
  • Solving similar issue I have Hama wireless keyboard, in openelec all keys are working fine. In Loki works only XF86AudioPrevious, rest of the keys are not showing anything in xbindkeys but when i press them, loki shows notification on right top corner with striked circrle. My keyboard - shortcuts - mediakeys showing "disabled", when i try to change that whole system freezes. Any idea? Thanks
    – Pikacu
    Apr 30, 2017 at 7:55
  • 1
    Have a similar problem, not so bad as the system freezes, but when I try to change the key for Volume Up, which is shown as "disabled" it indicates that I can press the key and when I do, "disabled" remains as the "key".
    – thoni56
    May 14, 2017 at 12:01

3 Answers 3

12

Just in case someone else stumbles upon this issue, I managed to address my media keys issue with elementaryos loki by using dconf-editor and xbindkeys.

First to identify your keys in terminal type sudo xbindkeys -k and press the the bind key on your keyboard and/or click under the window. You can use one of the two lines after "NoCommand" in ~/.xbindkeysrc to bind a key.

"(Scheme function)"
m:0x0 + c:123
XF86AudioRaiseVolume

Once you've found your key name such as "XF86AudioRaiseVolume" in this case, open dconf-editor and navigate to: org > gnome > settings-daemon > plugins > media-keys

Look for your desired media key, such as "volume-up" in the this case and assign the value you get from xbindkeys before "XF86AudioRaiseVolume"

The media-keys started working immediately for me after putting in the correct bindings.

Love eOS!

11

Building on @Fratink's answer, I ran these commands to fix the issue. (For some reasons, the dconf-editor wasn't working for me.)

  • Volume down

    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-down AudioLowerVolume
    
  • Volume up

    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-up AudioRaiseVolume
    
  • Mute

    gsettings set org.gnome.settings-daemon.plugins.media-keys volume-mute AudioMute
    

Thanks!

1

Instead of using xbind keys as @GZgidnick suggested, you can also use "AudioRaiseVolume" in dconf-editor instead of the value from xbindkeys as @GZgidnick explains above. Others are:
"AudioLowerVolume"
"AudioMute"
"AudioPlay"
"AudioNext"
"AudioPrevious"

At least those worked for my Apple Keyboard

Hope that helps!

2
  • To make your answer more useful (such as, say, if it is quoted), you should at least mention how to change these with dconf editor.
    – RolandiXor
    Dec 31, 2016 at 18:43
  • @RolandiXor I agree, but the correct place for my answer was a comment to GZgidnick's answer. Since I can't do that this was the next best thing.
    – Fratink
    Jan 4, 2017 at 17:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.