Eu tenho um teclado usb com chaves SLEEP, WAKE e POWER, mas sem teclas de mídia. No Ubuntu 12.04 eu usei o xmodmap para remapear essas chaves como XF86AudioMute, XF86AudioLowerVolume e XF86AudioRaiseVolume.
É assim que foi feito:
.Xmodmap no diretório inicial do usuário:
keycode 124 = XF86AudioRaiseVolume
keycode 150 = XF86AudioMute
keycode 151 = XF86AudioLowerVolume'
.xinitrc no diretório inicial do usuário:
xmodmap ~/.Xmodmap
Tanto quanto eu me lembro, foi o suficiente para usar SLEEP, WAKE uma tecla POWER como teclas de mídia (Mute, Volume Down, Volume Up).
Agora eu tenho nova instalação do Ubuntu 14.04 e esta abordagem não produz nenhum resultado.
xev reconhece novos mapeamentos, mas essas teclas ainda não funcionam como chaves de mídia.
Exemplo de saída xev para a chave POWER:
KeyRelease event, serial 78, synthetic NO, window 0x4000001, root 0x25d, subw 0x0, time 3802034, (1198,451), root:(1228,573), state 0x10, keycode 124 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XKeysymToKeycode returns keycode: 123 XLookupString gives 0 bytes: XFilterEvent returns: False
Eu tentei teclado usb diferente que tem teclas de mídia e eles funcionam como esperado.
Exemplo de saída xev para a tecla "Aumentar volume" no teclado com teclas de mídia:
KeyRelease event, serial 79, synthetic NO, window 0x4000001, root 0x25d, subw 0x0, time 4268348, (810,191), root:(961,347), state 0x10, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False
É evidente que não entendi nada aqui e estou pedindo ajuda.
P.S. Desativei a funcionalidade padrão das teclas SLEEP, WAKE e POWER configurando
org.gnome.settings-daemon.plugins.power.active = false org.gnome.settings-daemon.plugins.power.button-hibernate = nothing org.gnome.settings-daemon.plugins.power.button-power = nothing org.gnome.settings-daemon.plugins.power.button-sleep = nothing org.gnome.settings-daemon.plugins.power.button-suspend = nothing
através do editor de dconf.
P.P.S. Meu primeiro passo foi usar as configurações do sistema do Ubuntu. Embora pareça ter a capacidade de definir outras teclas como chaves de mídia, isso não funciona, pelo menos no meu sistema.