Como remapear as teclas em apenas um teclado?

18

Eu sei que posso usar xinputpara remapear os botões do mouse em apenas um mouse, mas deixar os outros inalterados. Isso é muito útil. No meu caso, eu o uso para conectar dois mouses à minha área de trabalho, um destro e o outro canhoto.

Também pode ser feito algo assim quando há mais de um teclado conectado? Posso remapear as teclas para outras teclas em um teclado e deixar outras inalteradas?

No meu caso específico, meu mouse parece estar registrado como um teclado adicional e seu 6º e 7º botão são traduzidos para pageupe pagedown, em vez disso, gostaria de vinculá-los a copiar / colar - mas não quero afetar as teclas regulares pageupe pagedownmeu teclado padrão.

Aqui está como a saída de xinputaparência - o teclado em questão está com o ID 10:

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SteelSeries Diablo III Gaming Mouse       id=9    [slave  pointer  (2)]
⎜   ↳ SteelSeries Diablo III Gaming Mouse       id=11   [slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Creative Technology Ltd SB Tactic3D Rage USB  id=8    [slave  keyboard (3)]
    ↳ SteelSeries Diablo III Gaming Mouse       id=10   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=13   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=14   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=15   [slave  keyboard (3)]
Carvalho
fonte
4 e 5 são a rolagem para cima e para baixo, é isso que você quer dizer?
Tim
@ Tim Quero dizer meus dois botões laterais; na verdade, eles não são mapeados para os botões do mouse.
Oak
11
Você pode postar a saída do xinput?
Tim
@ Tim adicionado. Mas isso é realmente necessário? Não existe uma solução genérica para esta pergunta, independentemente da minha configuração?
Oak
11
se você executar o comando xinput float 10, o mouse para de funcionar? Em seguida, executexinput reattach 10 3
Tim

Respostas:

1

Sua pergunta é mais sobre remapear os botões do mouse do que os botões do teclado, certo? Eu acho que o ImWheel pode remapear vários dispositivos. Eu o uso e tenho um artigo aqui: http://www.gdargaud.net/Hack/LinuxMouse.html

dargaud
fonte
0

Isso não pode ser feito com o xinput / xf86-input-evdev, você teria que fazê-lo diretamente no evdev, consulte o pacote evtest.

user2548688
fonte