Remapeando o SysRq no Linux

6

Os designers do meu novo teclado decidiram que, para alguns f: em razão, a tecla PrintScreen deve ficar entre AltGr e RCtrl .

Então, agora eu tenho este problema: Eu gosto de ter a chave mágica SysRq disponível porque tem sido útil de vez em quando. Mas agora eu tenho, por exemplo, AltGr + k mapeado para downarrow e um momento atrás quando eu queria usar este downarrow combinação, eu pressionei acidentalmente AltGr + PrintScreen + k e todos os programas foram eliminados. Isso é extremamente chato.

Existe alguma maneira de remapear o sysrq em algum outro lugar? Como AltGr + delete ou algo assim.

    
por nonpop 11.02.2015 / 11:28

2 respostas

1

Acabei de me deparar com este problema no meu novo computador portátil. Minha solução foi remendar drivers/tty/sysrq.c no kernel para adicionar

#undef KEY_SYSRQ
#define KEY_SYSRQ KEY_VOLUMEDOWN

logo após todos os #include s. Se o volume não for uma chave apropriada para você, você poderá encontrar outros códigos de tecla em include/uapi/linux/input-event-codes.h .

Eu não vejo como fazer esse remapeamento sem modificar o kernel. Se isso não for uma opção, pode-se usar pelo menos /proc/sys/kernel/sysrq como descrito na documentação do sysrq do kernel para desativar as solicitações mais perigosas:

echo 0x1A >/proc/sys/kernel/sysrq

Isso permite apenas o controle dos níveis de log, despejos de processo e sincronização. A maioria das outras categorias provavelmente interromperá seu trabalho após um acionamento acidental.

    
por 15.03.2016 / 22:36
-1

A resposta depende se você está executando o X (uma área de trabalho de geração atual) ou não. Você não especificou.

Executando X:

Existem várias maneiras de lidar com isso.

A maneira mais precisa / limitada é usar xmodmap . Eu não usei, então não estou familiarizado com os detalhes. Ele irá remapear as chaves com códigos-chave específicos para símbolos-chave específicos.

Se você tiver problemas para classificar as coisas, execute xev . Quando você pressiona qualquer combinação de teclas (ou faz outras coisas X), xev lhe dirá o que o sistema viu que lhe dará os valores que você precisa para xmodmap .

Depois de obter o comando para trabalhar, você pode executá-lo a partir do seu script ~/.login , para que ele esteja presente quando você iniciar um shell interativo. Ou, você pode adicioná-lo como um script bash no sistema de autoinicialização do ambiente de área de trabalho.

Se você quiser fazer mais, talvez queira verificar AutoKey , que é uma ferramenta de automação de desktop. Entre outras coisas, você pode definir uma macro que será acionada por um pressionamento de tecla simples ou composto que pode fazer qualquer coisa, desde a simples execução de um pressionamento de tecla até a execução de uma macro complexa codificada em Python, que pode fazer praticamente qualquer coisa. Python.

Eu uso todos os dias e adoro isso.

Para coisas mais simples na mesma linha, confira xdotool . Ele também pode fazer algumas coisas que AutoKey atualmente não podem fazer - como emitir eventos de mouse.

Não está executando o X (instalação do servidor, etc.):

É muito mais difícil encontrar informações porque é um caso muito menos comum.

Eu nunca tentei, mas encontrei algumas informações aqui ontem respondendo a outra pergunta.

    
por 17.02.2015 / 07:20