Como definir atalhos de teclado personalizados do terminal para diferentes versões do Linux?
Basicamente, quero saber onde o Linux armazena os arquivos de atalho do teclado e como eles podem ser editados.
Na minha pesquisa, encontrei um arquivo, ~/.config/compiz-1/compizconfig
mas era mais ou menos criptografado quando tentei abri-lo nano
.
command-line
keyboard
shortcut-keys
Ornitorrinco Anônimo
fonte
fonte
Respostas:
Adicionando atalhos de teclado de atalho em duas etapas na linha de comando (14.04+)
Adicionar atalhos personalizados a partir da linha de comando pode ser feito, mas é um pouco complicado; isso precisa ser feito em algumas etapas por combinação de teclas. Por outro lado, é bastante direto e pode muito bem ser roteirizado se você quiser fazê-lo a partir da linha de comando (essa era a pergunta, certo?).
Assim como em sua interface (Configurações do sistema> "Teclado"> "Atalhos"> "Atalhos personalizados"), os atalhos de teclado personalizados são feitos na linha de comando em duas etapas:
crie a combinação de teclas editando (adicionando a) a lista retornada pelo comando:
A lista retornada se parece (se fosse apenas um atalho atualmente):
Aplique a lista editada pelo comando:
(observe as aspas duplas)
NB: Não é necessário dizer que a menção na lista (por exemplo
custom1
,custom2
) deve ser única. Se você o script, o script deve evitar duplicatas. Nesse caso, a lista editada deve se parecer com, por exemplo:para adicionar uma combinação de teclas:
custom1
defina suas propriedades:
nome:
comando:
Combinação de teclas (por exemplo
<Primary><Alt>g
):Informações úteis podem ser encontradas aqui
Script de exemplo para definir um novo atalho personalizado
O script abaixo pode ser usado para definir uma nova combinação de teclas de atalho na linha de comando. Pode ser usado com o comando (assumindo que a combinação de teclas esteja disponível):
Um exemplo:
Para definir uma combinação de teclas de atalho para abrir
gedit
com a combinação de teclas Alt+ 7:O script:
Como usar:
Cole o script em um arquivo vazio, salve-o como
set_customshortcut.py
, execute-o conforme explicado acima.Algumas das principais menções usadas (encontradas experimentalmente, analisando as alterações feitas pela GUI no valor de ligação):
etc.
fonte
custom-keybinding
não deve conter "s" no final quando estiver dentro de um esquema. Mas, deve conter "s" quando agir como chave ou no caminho. Caso contrário, o comando "set" lançará uma exceção. Portanto, remova os "s" decustom-keybinding
no esquema. Além disso, seu script python também deve ser atualizado.gsettings
retornos@as []
que não são avaliados.Existe uma maneira simples de fazer isso usando
dconf
:Usando
gsettings
:Você precisa aumentar o número na
custom0
peça para adicionar mais ligações, ou seja.custom1
,custom2
etc.Para torná-lo permanente, basta adicioná-lo a
.bash_profile
ou um script semelhante executado por shells de login. Só não fazê-lo para os reservatórios não-logon.bashrc
porque da minha experiência estesdconf
egsettings
retardá-lo significativamente. Alterar / adicionar 30 ligações leva um segundo! Você não quer isso no shell que não é de login (.bashrc
)!fonte
custom0
à lista de atalhos personalizados, por exemplo, comgsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. Eu não seidconf
.dconf dump DIR
para despejar um subcaminho inteiro para stdout. A saída está em um formato de arquivo de chave, com valores na sintaxe GVariant.Todas as configurações personalizadas dos atalhos de teclado são armazenadas no banco de dados dconf.
Você pode acessá-los facilmente com
dconf-editor
:Em seguida, vá para o seguinte caminho do dconf no editor:
fonte
Adicionando atalhos de teclado de atalho na linha de comando no 12.04
Para impedir que a resposta aceita se torne muito extensa, publique uma solução separada para 12.04.
Até (e inclusive) 12.04, as combinações de teclas personalizadas não são armazenadas no
dconf
banco de dados, mas em~/.gconf/desktop/gnome/keybindings
(em um arquivo xml, em subpastas comocustom0
etc).O script abaixo cria o
xml
arquivo e sua pasta contendo, nomeados automaticamente corretamente.Como usar
set_customshortcuts_12.py
Execute-o com o comando:
key3
é opcional, os comandos podem ser, por exemplo:ou
Notas
fonte
Você pode definir um novo atalho personalizado sem um script python, usando sed. Você só precisa definir o nome , a ligação e a ação à sua escolha no seguinte script:
fonte
Escreveu um script para isso. Ver abaixo.
Veja o uso na
creatShortcut
invocação.fonte
Achei a resposta postada por @JacobVlijm muito útil, especialmente o script. Eu portado o código para
bash
. Eu não faço essa função é perfeita, pode conter alguns erros, no entanto, funciona para mim.fonte