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)]

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:



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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.