xkb mapeamento de R_Control + Arrows

2

Tenha um laptop com as setas direcionais e Fn + Setas para PageUp / PageDown / Início / < kbd> Fim . Quer fazer essas chaves de modo que o Controle Correto as altere para:

  • RCtrl + Acima - > Page Up
  • RCtrl + Abaixo - > Page Down
  • RCtrl + Esquerda - > Ctrl + Subir página
  • RCtrl + Direito - > Ctrl + Page Down

O controle da esquerda deve continuar a funcionar como antes.

XKB que está perto de funcionar:

O conteúdo a seguir é salvo em /usr/share/X11/xkb/symbols/custom e carregado por meio desse comando setxkbmap -symbols "pc+us+inet(evdev)+custom" :

key <UP> {  
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]= [ Up, NoSymbol ],  
    actions[Group1] = [NoAction(), RedirectKey(key=<PGUP>, clearMods=Control)] };  
key <DOWN> {  
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]= [ Down, NoSymbol ],  
    actions[Group1] = [NoAction(), RedirectKey(key=<PGDN>, clearMods=Control)] };  
key <LEFT> {  
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]=  [ Left, NoSymbol ],  
    actions[Group1] = [NoAction(), RedirectKey(key=<PGUP>)] };  
key <RGHT> {   
    type= "PC_CONTROL_LEVEL2",  
    symbols[Group1]= [ Right, NoSymbol ],  
    actions[Group1] = [NoAction(), RedirectKey(key=<PGDN>)] };

O problema:

Infelizmente, o script acima captura as duas teclas Control, não apenas a tecla correta. Eu preciso da tecla esquerda Control para não mudar seu comportamento. Alterando o PC_CONTROL_LEVEL2 - > PC_RCONTROL_LEVEL2 parece que deve funcionar, mas nada funciona de maneira diferente nesse caso (como se eu não tivesse feito nenhuma alteração).

Alguma idéia de por que PC_RCONTROL_LEVEL2 não faz nada?

Eu tentei atrapalhar todos os tipos de coisas diferentes, mas infelizmente nada funcionou. Eu não consigo nem mesmo manter a tecla de controle certa agindo como uma tecla de controle, mesmo depois de tentar mapeá-la diretamente para outra tecla.

Atualmente estou executando o Ubuntu 17.10 com a interface GNOME padrão. Obrigado!

    
por JasonB42 08.03.2018 / 22:13

0 respostas