Tenho um arquivo ~/.config/evince/accels
, mas ele está vazio. Qual é a sintaxe para desabilitar os atalhos de teclado padrão idiotas?
Posso "descartar" os atalhos atuais e depois editá-los?
Eu constantemente perco minha posição na página ao pressionar alguma tecla acidentalmente.
Eu só quero manter PageDown
e PageUp
poder rolar as páginas.
Estou usando o Evince 43 no Debian
Experimente estes. Certifique-se de
chmod +x filename
dar a eles acesso de execução.only_direction_keys.sh
desligará a maior parte do mapa de teclas, deixando as teclas de seta e PgUp e PgDn e iniciará o evince. Inicie este primeiro!Key_reset.sh
redefine suas combinações de teclas para as configurações que você tinha antes. Você vai querer executar isso depois de terminar.Por favor, revise o código antes de executar e faça quaisquer alterações que você ache que atendem às suas necessidades. O Evince é meio chato para alterar atalhos de teclado, mas essa solução alternativa pareceu funcionar muito bem quando eu o executei em alguns testes. Não é perfeito, mas dá conta do recado. Além disso, é uma boa ideia verificar o código antes de executá-lo às cegas de um estranho na web :)
Primeiro, instale
xbindkeys
:E os scripts de shell:
only_direction_keys.sh
:key_reset.sh
:Se olharmos para as fontes, nas NOTÍCIAS encontramos
então não acho que isso seja mais suportado. Também nas fontes, temos o código em ev-application.c
onde vemos as ligações fixas sendo configuradas.
Para alterar ou remover uma ligação, podemos editar este código e recompilar o aplicativo, ou mais simplesmente podemos interpor um shim entre o aplicativo e a biblioteca gtk carregada dinamicamente. O shim poderia, por exemplo, não chamar a
gtk_application_set_accels_for_action()
função parawin.open
, e então remover a ligação<Ctrl>O
para essa ação. Ou poderíamos alterar a ligação para fazer<Ctrl>Z
funcionar em vez disso. Aqui está um arquivo adequadoshim_gtk.c
:Aqui o
#if 0
é usado para desabilitar algum código e#if 1
habilitar algum outro código de exemplo para fazer como descrito acima. Compilar come correr com
substituindo
...
apropriadamente. Você deve remover asfprintf()
chamadas de depuração, pois elas podem interferir no uso real do stderr pelo aplicativo.