Eu não acho que isso funcionará .... por várias razões ... por exemplo, acho que o linux trata o capslock como um modificador e não como uma chave separada. Essa provavelmente será a razão pela qual você não pode vinculá-lo no VLC. Além disso, se você desativá-lo, ele será desativado. Mas você pode brincar na linha de comando e tentar vinculá-lo com vlc --key-play-pause <key-string>, mas eu não encontrei uma cadeia que VLC aceita como capslock ...
Robert Riedl
11
Eu instalei dconf-editortentei algumas coisas, instalei xdotooltentei algumas coisas e, finalmente, xbindkeystentei algumas coisas. No final deste exercício infrutífero, meu botão de pausa / reprodução do teclado estava quebrado E meu próprio botão de reprodução / pausa na tela estava acinzentado e a música não tocava. Eu fiz isso no 16.04, então reiniciei no 18.04 para confirmar que tudo ainda funciona e foram os hacks de software que o fizeram. A única graça salvadora é que eu só toco música no telefone Android e não no PC. Apenas um aviso para que os outros tenham cuidado e documentem o que você faz na sua máquina melhor do que eu.
WinEunuuchs2Unix
11
@pbhj Obrigado pela dica. De alguma forma, consegui colocar o play / pause funcionando novamente com o botão na tela e o botão de pausa / play do teclado no Ubuntu 16.04. Eu só queria avisar as pessoas sobre possíveis armadilhas que experimentam esses utilitários de teclado de baixo nível.
WinEunuuchs2Unix
11
2BFrank: Certifique-se de aceitar uma das respostas se resolver o seu problema. Como existe uma recompensa nessa questão, deixar uma resposta inaceitável (e não conceder a recompensa manualmente) concederá apenas metade da recompensa a @Sebastian Stark, já que sua resposta é a mais votada.
criar o seu
11
@NonnyMoose Obrigado por esse comentário. Eu deixaria que ela apenas atendesse automaticamente à resposta aceita ou ao maior número de votos, mas não sabia que ele dividiu o prêmio pela metade, então eu o atribuirei manualmente ao maior número de votos em aproximadamente duas horas se nenhuma resposta é aceita.
Chai T. Rex
Respostas:
11
evtest e dbus
Aqui está uma versão que envolve um pequeno script sendo executado em segundo plano. Algumas etapas fáceis precisam ser seguidas:
Instale o evtest programa: sudo apt install evtest. Este programa é capaz de decodificar e imprimir eventos brutos a partir da /dev/input/hierarquia de dispositivos.
Adicione sua conta de usuário ao grupo input. Saia e faça login novamente. (Isso é necessário porque vamos ler a partir de algum dispositivo abaixo /dev/input/, o que normalmente só pode ser feito por raiz ou usuários em grupo input. Poderíamos executar o script como raiz, mas teríamos que encontrar uma maneira de informar qual usuário instância dbus com a qual precisa conversar.)
Desative a tecla capslock como você fez ou use a preferência de posicionamento correspondente. Também funcionaria se você mapear a tecla capslock para ctrl, como muitas pessoas fazem.
Armazene o seguinte script em algum lugar, por exemplo, $HOME/bin/capshacke torne-o executável:
#!/bin/bash
KEYBOARD=/dev/input/by-path/platform-i8042-serio-0-event-kbd
EVENT="type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 1"
toggleVLC () {
dbus-send \
--type=method_call \
--dest=org.mpris.MediaPlayer2.vlc \
/org/mpris/MediaPlayer2 \
org.mpris.MediaPlayer2.Player.PlayPause
}
evtest "$KEYBOARD" | \
while read line
do
if [[ "$line" == *"$EVENT" ]]
then
toggleVLC
fi
done
O script acima ouvirá os eventos do teclado e executará um comando quando a tecla capslock for pressionada. O comando que está sendo executado está usando o dbus para enviar um evento de reprodução / pausa para uma instância do VLC em execução. Você pode precisar ajustar oKEYBOARD variável para apontar para o teclado atual, mas é provável que o valor acima funcione.
Se você preferir que a função toggleVLC () seja chamada quando você soltar a tecla capslock, poderá alterar a EVENTvariável no script para que ela termine com em value 0vez de value 1.
Além disso, é possível que o código da tecla capslock seja diferente de 58. Você pode verificar isso executando evtest , observe a saída ao pressionar Capslock e ajuste a variável EVENT de acordo. Você nem precisa corresponder pelo código da chave e definir EVENT simplesmente como (KEY_CAPSLOCK), value 1.
Em vez de usar o script evtest e acima, você pode usar thd do pacote triggerhappy (algo comothd --dump /dev/input/* daria saída semelhante), mas eu achei isso um pouco menos educacional.
Agora criamos uma unidade systemd do usuário para iniciar o script automaticamente em segundo plano:
Crie a hierarquia do sistema do usuário: mkdir -p $HOME/.config/systemd/user
Adicione o seguinte texto ao arquivo $HOME/.config/systemd/user/capshack.service
Habilite a unidade de serviço que você acabou de criar: systemctl --user enable capshack
Inicie o serviço: systemctl --user start capshack
A partir de agora, você poderá alternar entre reproduzir / pausar no VLC usando a tecla capslock. O script em segundo plano deve ser iniciado automaticamente quando você efetuar login.
gatilho
Como já mencionado, você também pode usar o pacote triggerhappy para fazer isso. Este é o método preferido para pessoas que desejam mexer menos com o sistema e preferem uma solução mais sólida.
Adicione usuário ao inputgrupo como acima
Instale o pacote: sudo apt install triggerhappy
Adicione uma configuração para triggerhappy em ~/.config/thd/capslock.conf:
Faça com que o thd execute para o usuário de maneira semelhante à descrita para capshack já.
Verifique se você possui apenas um dos métodos mencionados (capshack ou thd) em execução, para não alternar duas vezes para cada tecla pressionada.
Eu testei tudo isso em 18.04 sob a sessão padrão e 16.04 mate. Mas, teoricamente, também deve funcionar em terras distantes ou com outros ambientes de desktop.
@ WinEunuuchs2Unix obrigado por mencionar. Pessoalmente, prefiro o estilo mais detalhado da cláusula if / then / else completa: é mais explícito, é mais fácil de estender e não tende a fazer linhas muito longas. Embora, neste caso, realmente não importasse muito.
Sebastian Stark
Eu concordo com as falas por muito tempo. Recentemente, adaptei o estilo de codificação a duas linhas com a primeira linha [[ test ]] && \ e a segunda linha recuou quatro espaços <command>para executar no teste positivo. Eu concordo plenamente com a legibilidade, porque minha recomendação é estranha à maioria das linguagens de programação.
WinEunuuchs2Unix
isso é ótimo ! Embora eu acho que parece triggerhappydeve ser o caminho a percorrer, uma vez que evtesté na verdade um programa de depuração :)
Robert Riedl
sim, evtest para a aprendizagem, o para fazer :)
Sebastian Stark
... Para mim, o código-chave 58 é m, para que o script não funcione. Eu recomendo verificar xmodmap -pke | grep Caps_Lockantes de usar este script para garantir que o código-chave esteja correto.
criar o seu
9
No Ubuntu 16.04, depois de passar horas pesquisando e mexer com dconf-editore xbindkeyseu encontrei uma solução extremamente fácil:
Configuração muito rápida em 2 minutos
Apenas o xdotool precisa ser instalado
Nenhum script necessário
Caps lock ainda é reconhecido, mas não alterna entre maiúsculas e minúsculas
Funciona com configurações de atalho personalizadas do teclado Ubuntu padrão
Se você precisar do XF86AudioPlaysuporte ao Gnome, precisará xdotool(não é necessário para o VLC, conforme o OP estipula):
sudo apt install xdotool
Agora, aqui está a parte complicada. Sempre que você pressionar a Caps LocKtecla para alternar a música entre Reproduzir e Pausar, as letras maiúsculas também serão ativadas.
Use este método para desativar a alternância de Caps Lock enquanto mantém a tecla ativa:
setxkbmap -option caps:none
Leitores de música que aderem ao Gnome
Em seguida, no Ubuntu 16.04, vá para Configurações >> Teclado >> Atalhos >> Atalhos Personalizados :
Defina o nome paraAudio Play
Defina o comando comoxdotool key XF86AudioPlay
Depois clique no Applybotão
Após adicionar a nova opção, a tecla de atalho atribuída exibirá Desativado . Clique em Desativado e, quando solicitado, pressione a Caps LocKtecla.
Leitores de música como o VLC
Siga as etapas para o Gnome na seção anterior, mas para o comando use isso:
O próximo passo é tornar isso setxkbmap -option caps:nonepersistente nas reinicializações. Os resultados do Google nesta resposta de Terdon: Salve as configurações do setxkbdmap :
Uma maneira fácil seria adicionar o comando ao seu $HOME/.profilearquivo (você pode criá-lo se ele não existir):
setxkbmap -option caps:none
Isso deve fazer com que seja executado sempre que você efetuar login.
Observe que você deve usar, em $HOME/.profilevez de $HOME/.bash_profile, $HOME/.bashrcou algum outro arquivo semelhante. Isso ocorre porque essa configuração deve ser lida pelo seu gerenciador de login.
Simples, elegante, faz o trabalho: A resposta perfeita para mim!
quer
@ Fabby Bem, devo admitir que é fácil de configurar e testar e não requer escaneamento de baixo nível sobre ou scripts em execução constante. Passei por quatro tentativas diferentes antes de me deparar com esse método. Ainda não o chamaria perfeito, mas OBRIGADO! . Se me deixarem voltar para a Europa, comprarei uma caneca para você.
WinEunuuchs2Unix
Funciona com Wayland?
precisa saber é o seguinte
Dabzel @ Receio que Wayland não trabalhe setxkbmap -option caps:none. O programa utilitário é instalado, mas o Wayland continua alternando entre maiúsculas e minúsculas. Você pode postar uma pergunta separada sobre como fazer com que Wayland respeite setxkbmap.
WinEunuuchs2Unix
3
Esta resposta foi testada no Ubuntu MATE 16.04.4 LTS em uma VM (mas o teclado era um teclado USB na passagem, portanto, isso não deve fazer diferença). Também não requer software extra, e pode ser feito em uma instalação sem baunilha, sem instalar nenhum pacote, e é persistente entre as inicializações.
Remapear Caps Lock
Edite o arquivo /usr/share/X11/xkb/symbols/pccomo raiz. Cuidado para não cometer um erro aqui (como esquecer a vírgula), pois talvez você não consiga mais usar o teclado. (Adivinha o que eu aprendi da maneira mais difícil?;)
Comente a linha
key <CAPS> { [ Caps_Lock ] };
colocando duas barras ( //) no início.
Adicione abaixo a seguinte linha:
key <CAPS> { [ XF86AudioPlay, XF86AudioPause ] };
Comente a linha
modifier_map Lock { Caps_Lock };
da mesma maneira que acima.
Reinicie.
Nota: ( agradecemos a danzel por apontar isso) As atualizações no pacote xkb-datapodem substituir esse arquivo. Um método razoavelmente seguro para evitar isso é desviar o caminho usando dpkg-divert. (Digo "razoavelmente seguro" porque a fonte upstream para esse arquivo não foi modificada em três anos.)
Método alternativo
Desative manualmente a tecla Caps Lock nas configurações de layout do teclado e use a abordagem nesta resposta para adicionar seus próprios mapeamentos de teclas.
Problemas?
Sua tecla de bloqueio de maiúsculas não bloqueia mais maiúsculas e foi remapeada para Reproduzir / Pausar neste momento. Agora você deve poder reproduzir e pausar músicas no VLC. Se funcionar neste momento, você pode pular o restante destas instruções.
No entanto, quando tentei, o VLC não respondeu à tecla Reproduzir / Pausar.
Verifique se o atalho do teclado está definido corretamente
Abrir atalhos de teclado (Sistema → Preferências → Hardware → Atalhos de teclado)
Verifique se "Reproduzir (ou Reproduzir / Pausar)" está definido como "XF86AudioPlay"
Caso contrário, clique na seção "Atalho" e pressione sua nova tecla Reproduzir / Pausar para definir o atalho.
Se ainda assim não funcionar, reinicie algumas vezes para uma boa medida. (Isso é realmente o que foi corrigido para mim.)
Isso pode interferir nas xkbopções, especialmente nas opções caps:.... Além disso, ele pode ser substituído por atualizações do sistema.
Daniel 19/06
De fato, poderia. Bom ponto sobre as atualizações do sistema, no entanto. Vou adicionar uma nota sobre isso na minha resposta. Obrigado pelo feedback!
precisa
Queridos Todos, uau !! Desculpe, fiquei afk por um tempo :-) e agora estou descobrindo todo o esforço que todos vocês colocaram na solução !! Tentará a resposta do @ WinEunuuchs2Unix e manterá você informado. Obrigado, LLAP !!
precisa saber é o seguinte
@ 2BFrank Por curiosidade, você encontrou uma resposta que funcionou?
criar o seu
1
Instale xbindkeys, xcape e playerctl . Certifique-se de que xcape(mapeando CapsLockpara uma chave sobressalente como Alt+F12por xcape -e 'Caps_Lock=Alt_L|F12) e playerctlseja iniciado automaticamente no logon e adicione ao arquivo ~/.xbindkeysrcas duas linhas
Faça da sua tecla capslock uma tecla de play / pause
Esta solução remapeará o scancode da sua tecla capslock para um código de chave diferente no driver de entrada do kernel, nesse caso, play / pause.
Vantagens
Não há necessidade de modificar os arquivos do sistema existentes (apenas um novo arquivo deve ser criado)
Os aplicativos não sabem que na verdade é uma tecla de capslock, mas pensam que uma tecla de reprodução / pausa real foi pressionada
Não há necessidade de desativar o capslock, não há possibilidade de estragar a xkbconfiguração
Desvantagens
Tem que ser feito para cada teclado individualmente (o que, dependendo da situação, também pode ser uma vantagem)
Pré-requisitos
evtest (pode ser instalado via sudo apt-get install evtest)
Procedimento
Em um terminal, execute sudo evteste selecione seu teclado. Se não houver saída ao pressionar uma tecla, pressione Ctrl+ Ce tente um dispositivo diferente. Lembre-se do número do evento do dispositivo que você selecionou, precisaremos depois. Pressione a tecla Capslock. Algumas linhas como as seguintes aparecerão:
Event: time 1529406021.187148, -------------- SYN_REPORT ------------
Event: time 1529406021.218427, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70039
Event: time 1529406021.218427, type 1 (EV_KEY), code 58 (KEY_CAPSLOCK), value 0
Precisamos do valor da MSC_SCANlinha que precede a KEY_CAPSLOCKlinha. No exemplo acima, isso seria 70039, mas o scancode no seu teclado provavelmente é diferente.
Agora execute o seguinte comando, mas substitua o X pelo número do evento do dispositivo que você usou para o evtestcomando:
grep "" /sys/class/input/eventX/device/id/*
... esta saída vontade bustype, product, vendore versiondo teclado.
Crie um arquivo nomeado 65-keyboard-custom.hwdbem /etc/udev/hwdb.d/(permissões de root necessárias) com o seguinte conteúdo:
@Nonny Moose, por isso escrevi "Tem que ser feito para cada teclado individualmente". Além disso, você pode especificar quantos teclados desejar, para fazer isso apenas para cada novo teclado que comprar. Por outro lado, você pode omitir um teclado, se quiser, por exemplo, porque ele já possui uma tecla de reprodução / pausa física.
22418 danzel
... Bem, eu não estava prestando atenção. Eu estou corrigido.
precisa
0
Talvez usando xbindkeysou XTEvocê possa fazer isso. Mas primeiro certifique-se de quais são os códigos de chave, você pode ver o código da tecla capslock usando o comando xevno terminal e pressionando-o (você pode ver o código de tecla de qualquer botão keu ou mouse, incluindo mouse mouses). Com o código-chave dos botões capslock e play na mão, você pode editar o arquivo xbindkeys confi e colocar suas alterações. use touch ~/.xbindkeysrcpara criar o arquivo de configuração (se o sistema não o criar automaticamente) e nano ~/.xbindkeysrceditá-lo. Eu usei no mês passado e aqui é um exemplo. dê uma olhada nesses links que podem ser muito úteis para você.
vlc --key-play-pause <key-string>
, mas eu não encontrei uma cadeia que VLC aceita como capslock ...dconf-editor
tentei algumas coisas, instaleixdotool
tentei algumas coisas e, finalmente,xbindkeys
tentei algumas coisas. No final deste exercício infrutífero, meu botão de pausa / reprodução do teclado estava quebrado E meu próprio botão de reprodução / pausa na tela estava acinzentado e a música não tocava. Eu fiz isso no 16.04, então reiniciei no 18.04 para confirmar que tudo ainda funciona e foram os hacks de software que o fizeram. A única graça salvadora é que eu só toco música no telefone Android e não no PC. Apenas um aviso para que os outros tenham cuidado e documentem o que você faz na sua máquina melhor do que eu.Respostas:
evtest e dbus
Aqui está uma versão que envolve um pequeno script sendo executado em segundo plano. Algumas etapas fáceis precisam ser seguidas:
Instale o evtest programa:
sudo apt install evtest
. Este programa é capaz de decodificar e imprimir eventos brutos a partir da/dev/input/
hierarquia de dispositivos.Adicione sua conta de usuário ao grupo
input
. Saia e faça login novamente. (Isso é necessário porque vamos ler a partir de algum dispositivo abaixo/dev/input/
, o que normalmente só pode ser feito por raiz ou usuários em grupoinput
. Poderíamos executar o script como raiz, mas teríamos que encontrar uma maneira de informar qual usuário instância dbus com a qual precisa conversar.)Desative a tecla capslock como você fez ou use a preferência de posicionamento correspondente. Também funcionaria se você mapear a tecla capslock para ctrl, como muitas pessoas fazem.
Armazene o seguinte script em algum lugar, por exemplo,
$HOME/bin/capshack
e torne-o executável:O script acima ouvirá os eventos do teclado e executará um comando quando a tecla capslock for pressionada. O comando que está sendo executado está usando o dbus para enviar um evento de reprodução / pausa para uma instância do VLC em execução. Você pode precisar ajustar o
KEYBOARD
variável para apontar para o teclado atual, mas é provável que o valor acima funcione.Se você preferir que a função toggleVLC () seja chamada quando você soltar a tecla capslock, poderá alterar a
EVENT
variável no script para que ela termine com emvalue 0
vez devalue 1
.Além disso, é possível que o código da tecla capslock seja diferente de 58. Você pode verificar isso executando
evtest
, observe a saída ao pressionar Capslock e ajuste a variável EVENT de acordo. Você nem precisa corresponder pelo código da chave e definir EVENT simplesmente como(KEY_CAPSLOCK), value 1
.Em vez de usar o script evtest e acima, você pode usar thd do pacote triggerhappy (algo como
thd --dump /dev/input/*
daria saída semelhante), mas eu achei isso um pouco menos educacional.Agora criamos uma unidade systemd do usuário para iniciar o script automaticamente em segundo plano:
Crie a hierarquia do sistema do usuário:
mkdir -p $HOME/.config/systemd/user
Adicione o seguinte texto ao arquivo
$HOME/.config/systemd/user/capshack.service
Habilite a unidade de serviço que você acabou de criar:
systemctl --user enable capshack
Inicie o serviço:
systemctl --user start capshack
A partir de agora, você poderá alternar entre reproduzir / pausar no VLC usando a tecla capslock. O script em segundo plano deve ser iniciado automaticamente quando você efetuar login.
gatilho
Como já mencionado, você também pode usar o pacote triggerhappy para fazer isso. Este é o método preferido para pessoas que desejam mexer menos com o sistema e preferem uma solução mais sólida.
Adicione usuário ao
input
grupo como acimaInstale o pacote:
sudo apt install triggerhappy
Adicione uma configuração para triggerhappy em
~/.config/thd/capslock.conf
:Execute thd assim:
thd --triggers ~/.config/thd/capslock.conf /dev/input/event*
Faça com que o thd execute para o usuário de maneira semelhante à descrita para capshack já.
Verifique se você possui apenas um dos métodos mencionados (capshack ou thd) em execução, para não alternar duas vezes para cada tecla pressionada.
Eu testei tudo isso em 18.04 sob a sessão padrão e 16.04 mate. Mas, teoricamente, também deve funcionar em terras distantes ou com outros ambientes de desktop.
fonte
[[ test ]] && \
e a segunda linha recuou quatro espaços<command>
para executar no teste positivo. Eu concordo plenamente com a legibilidade, porque minha recomendação é estranha à maioria das linguagens de programação.triggerhappy
deve ser o caminho a percorrer, uma vez queevtest
é na verdade um programa de depuração :)m
, para que o script não funcione. Eu recomendo verificarxmodmap -pke | grep Caps_Lock
antes de usar este script para garantir que o código-chave esteja correto.No Ubuntu 16.04, depois de passar horas pesquisando e mexer com
dconf-editor
exbindkeys
eu encontrei uma solução extremamente fácil:Se você precisar do
XF86AudioPlay
suporte ao Gnome, precisaráxdotool
(não é necessário para o VLC, conforme o OP estipula):Agora, aqui está a parte complicada. Sempre que você pressionar a Caps LocKtecla para alternar a música entre Reproduzir e Pausar, as letras maiúsculas também serão ativadas.
Use este método para desativar a alternância de Caps Lock enquanto mantém a tecla ativa:
Leitores de música que aderem ao Gnome
Em seguida, no Ubuntu 16.04, vá para Configurações >> Teclado >> Atalhos >> Atalhos Personalizados :
Audio Play
xdotool key XF86AudioPlay
Após adicionar a nova opção, a tecla de atalho atribuída exibirá Desativado . Clique em Desativado e, quando solicitado, pressione a Caps LocKtecla.
Leitores de música como o VLC
Siga as etapas para o Gnome na seção anterior, mas para o comando use isso:
O VLC não reconhece as teclas de mídia: Como fazer com que as teclas de mídia do teclado funcionem com o VLC globalmente? mesmo quando embutido no teclado. Portanto, o atalho de teclado personalizado para o XF86AudioPlay é inútil
xdotool
.Definindo atalhos de teclado personalizados na linha de comando
Esta seção de perguntas e respostas discute como definir atalhos de teclado personalizados na linha de comando: Como definir atalhos de teclado personalizados no terminal?
Desativar o bloqueio das tampas permanentemente
O próximo passo é tornar isso
setxkbmap -option caps:none
persistente nas reinicializações. Os resultados do Google nesta resposta de Terdon: Salve as configurações do setxkbdmap :Uma maneira fácil seria adicionar o comando ao seu
$HOME/.profile
arquivo (você pode criá-lo se ele não existir):Isso deve fazer com que seja executado sempre que você efetuar login.
Observe que você deve usar, em
$HOME/.profile
vez de$HOME/.bash_profile
,$HOME/.bashrc
ou algum outro arquivo semelhante. Isso ocorre porque essa configuração deve ser lida pelo seu gerenciador de login.fonte
setxkbmap -option caps:none
. O programa utilitário é instalado, mas o Wayland continua alternando entre maiúsculas e minúsculas. Você pode postar uma pergunta separada sobre como fazer com que Wayland respeitesetxkbmap
.Esta resposta foi testada no Ubuntu MATE 16.04.4 LTS em uma VM (mas o teclado era um teclado USB na passagem, portanto, isso não deve fazer diferença). Também não requer software extra, e pode ser feito em uma instalação sem baunilha, sem instalar nenhum pacote, e é persistente entre as inicializações.
Remapear Caps Lock
Edite o arquivo
/usr/share/X11/xkb/symbols/pc
como raiz. Cuidado para não cometer um erro aqui (como esquecer a vírgula), pois talvez você não consiga mais usar o teclado. (Adivinha o que eu aprendi da maneira mais difícil?;)Comente a linha
colocando duas barras (
//
) no início.Adicione abaixo a seguinte linha:
Comente a linha
da mesma maneira que acima.
Reinicie.
Nota: ( agradecemos a danzel por apontar isso) As atualizações no pacote
xkb-data
podem substituir esse arquivo. Um método razoavelmente seguro para evitar isso é desviar o caminho usandodpkg-divert
. (Digo "razoavelmente seguro" porque a fonte upstream para esse arquivo não foi modificada em três anos.)Método alternativo
Desative manualmente a tecla Caps Lock nas configurações de layout do teclado e use a abordagem nesta resposta para adicionar seus próprios mapeamentos de teclas.
Problemas?
Sua tecla de bloqueio de maiúsculas não bloqueia mais maiúsculas e foi remapeada para Reproduzir / Pausar neste momento. Agora você deve poder reproduzir e pausar músicas no VLC. Se funcionar neste momento, você pode pular o restante destas instruções.
No entanto, quando tentei, o VLC não respondeu à tecla Reproduzir / Pausar.
Verifique se o atalho do teclado está definido corretamente
Abrir atalhos de teclado (Sistema → Preferências → Hardware → Atalhos de teclado)
Verifique se "Reproduzir (ou Reproduzir / Pausar)" está definido como "XF86AudioPlay"
Caso contrário, clique na seção "Atalho" e pressione sua nova tecla Reproduzir / Pausar para definir o atalho.
Se ainda assim não funcionar, reinicie algumas vezes para uma boa medida. (Isso é realmente o que foi corrigido para mim.)
fonte
xkb
opções, especialmente nas opçõescaps:...
. Além disso, ele pode ser substituído por atualizações do sistema.Instale
xbindkeys
, xcape e playerctl . Certifique-se de quexcape
(mapeandoCapsLock
para uma chave sobressalente comoAlt+F12
porxcape -e 'Caps_Lock=Alt_L|F12
) eplayerctl
seja iniciado automaticamente no logon e adicione ao arquivo~/.xbindkeysrc
as duas linhasfonte
Faça da sua tecla capslock uma tecla de play / pause
Esta solução remapeará o scancode da sua tecla capslock para um código de chave diferente no driver de entrada do kernel, nesse caso, play / pause.
Vantagens
xkb
configuraçãoDesvantagens
Pré-requisitos
sudo apt-get install evtest
)Procedimento
Em um terminal, execute
sudo evtest
e selecione seu teclado. Se não houver saída ao pressionar uma tecla, pressione Ctrl+ Ce tente um dispositivo diferente. Lembre-se do número do evento do dispositivo que você selecionou, precisaremos depois. Pressione a tecla Capslock. Algumas linhas como as seguintes aparecerão:Precisamos do valor da
MSC_SCAN
linha que precede aKEY_CAPSLOCK
linha. No exemplo acima, isso seria 70039, mas o scancode no seu teclado provavelmente é diferente.Agora execute o seguinte comando, mas substitua o X pelo número do evento do dispositivo que você usou para o
evtest
comando:... esta saída vontade
bustype
,product
,vendor
eversion
do teclado.Crie um arquivo nomeado
65-keyboard-custom.hwdb
em/etc/udev/hwdb.d/
(permissões de root necessárias) com o seguinte conteúdo:...Onde
evdev:...
linha não tem espaço anteriorKEYBOARD_KEY...
linha tem exatamente um espaço anteriorPor exemplo:
Por fim, compile a nova configuração no banco de dados de hardware:
Se você deseja aplicar as alterações imediatamente, informe o udev:
Se você deseja reverter as alterações, basta remover o arquivo que você criou e reiniciar.
Você pode encontrar informações mais detalhadas na minha resposta original sobre este tópico.
fonte
Talvez usando
xbindkeys
ouXTE
você possa fazer isso. Mas primeiro certifique-se de quais são os códigos de chave, você pode ver o código da tecla capslock usando o comandoxev
no terminal e pressionando-o (você pode ver o código de tecla de qualquer botão keu ou mouse, incluindo mouse mouses). Com o código-chave dos botões capslock e play na mão, você pode editar o arquivo xbindkeys confi e colocar suas alterações. usetouch ~/.xbindkeysrc
para criar o arquivo de configuração (se o sistema não o criar automaticamente) enano ~/.xbindkeysrc
editá-lo. Eu usei no mês passado e aqui é um exemplo. dê uma olhada nesses links que podem ser muito úteis para você.https://help.ubuntu.com/community/MultimediaKeys
https://gist.github.com/jbonney/5743509
Remapear um botão do mouse para uma tecla do teclado
https://matmunn.me/post/binding-volume-control-mouse-buttons-ubuntu/
fonte