Remapeamento da tecla CapsLock

6

Eu remapeei a chave CapsLock para funcionar assim:

CapsLock + J = Tecla de seta para a esquerda
CapsLock + K = Tecla de seta para baixo
etc.

Eu usei o xmodmap (como explicado em Mapeamento Super + hjkl para as teclas de seta abaixo de X ).

O problema é que não consigo fazer as seguintes combinações de teclas funcionar:

Esperado: CapsLock + Deslocamento + J = Deslocamento + Tecla de seta esquerda
Actual: CapsLock + Deslocamento + J = não faz nada.
etc.

Você tem alguma idéia de como fazer isso funcionar? Obrigado.

    
por varad 14.05.2011 / 23:27

5 respostas

2

Não é uma resposta direta, mas a melhor maneira de abordar isso seria ver quais eventos estão sendo disparados quando você pressiona as combinações nas quais está interessado. Para fazer isso, instale xev e tente as várias combinações.

    
por 22.05.2011 / 18:39
2

Eu estava tendo o mesmo problema e perguntei sobre AskUbuntu . O problema pode ser resolvido por:

definindo o parâmetro preserve

edite /usr/share/X11/xkb/types/iso9995 e adicione preserve[Shift+LevelThree] = Shift; de modo que o conteúdo do arquivo seja semelhante:

  partial default xkb_types "default" {

// A key type which can be used to implement
// an ISO9995-style level-three shift.

virtual_modifiers LevelThree;

type "THREE_LEVEL" {
    modifiers = Shift+LevelThree;
    map[None] = Level1;
    map[Shift] = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level3;
    preserve[Shift+LevelThree] = Shift;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Level3";
    };
};

personalize o arquivo de símbolos para o layout desejado

Edite o arquivo de layout de teclado em /usr/share/X11/xkb/symbols/ da seguinte forma (adaptando-o às suas próprias necessidades)

key <AC06>  { type="THREE_LEVEL", [   h,   H, Left  ]   }; 
key <AC07>  { type="THREE_LEVEL", [   j,   J, Down  ]   }; 
key <AC08>  { type="THREE_LEVEL", [   k,   K, Up    ]   }; 
key <AC09>  { type="THREE_LEVEL", [   l,   L, Right ]   }; 

e não como

 ....
 key { [ j, J, Down, Down ] };
 ....
    
por 03.07.2018 / 02:13
0

Seu problema pode ser que capslock e shift são quase os mesmos em seu hardware de teclado, pode ser que sua tecla capslock apenas acione permanentemente a tecla Shift.

    
por 17.05.2011 / 10:05
0

Se eu entendi bem como funciona, tente no arquivo de especificação do teclado para explícito dizer o que você quer, por exemplo, para ele mudou de posição, por exemplo

key { [ j, J, Down, Next ] };
key { [ k, K, Up, Prior ] }; 

para ter PageDn e PageUp --- eu não posso chupar agora, mas deve funcionar.

    
por 11.10.2013 / 04:10
-1

Eu testei muitos métodos sugeridos, mas achei isso muito mais simples de implementar e entender. Crie o arquivo nano ~/.my_keyboard , cole o código abaixo (altere o mapeamento de acordo com o seu plano) e execute xmodmap ~/.my_keyboard .

clear lock
keycode 66 = Mode_switch

keysym h = h H Left Left hstroke Hstroke
keysym j = j J Down Down dead_hook dead_horn
keysym k = k K Up Up lstroke ampersand
keysym l = l L Right Right lstroke Lstroke

Isso desativa a funcionalidade padrão Caps Lock e remapeia a chave para o modificador Mode_switch . Para redefinir as configurações do xmodmap, você pode executar setxkbmap .

Aqui está a solução original que eu adicionei.

    
por 10.09.2017 / 03:22