Como especificar o caps lock e o mapeamento de teclas de controle por teclado?

1

Eu tenho um teclado externo que eu uso com meu desktop e laptop Ubuntu 17.10 em casa, e a mesma espécie de teclado em minhas máquinas RHEL 6.8 no trabalho. Mas no meu laptop Ubuntu 17.10, eu uso o teclado embutido na maioria das vezes, mas outras vezes eu preciso conectar o teclado externo mencionado anteriormente a ele. Então, eu preciso do comportamento das teclas capslock e control para funcionarem da mesma forma, tanto para teclados internos quanto externos.

Este teclado externo possui um firmware personalizado que, entre muitas outras coisas, troca as teclas de controle esquerda e de controle esquerda.

O comportamento que estou procurando é o seguinte:

  1. Quando o teclado externo estiver desconectado, troque as teclas caps lock e control, pois o teclado integrado está em uso.
  2. Quando eu conecto o teclado externo, quero parar de trocar as teclas CapsLock e Control porque o teclado já faz isso.
  3. Eu quero esse comportamento sob todas as condições a seguir:
    1. Quando eu faço login usando o Gnome no Ubuntu 17.10
    2. Quando faço login usando o Gnome no RHEL 6.8
    3. Quando eu uso o terminal não-X (console).
  4. Eu quero fazer isso tudo a partir de scripts que eu posso controlar do meu próprio diretório pessoal, e não ter que instalar pacotes especiais sob o usuário root, pois eu preciso que ele funcione tanto no RHEL quanto no Ubuntu (o último eu posso controlar, mas não o primeiro, em termos de instalação e configuração de pacotes).

O que eu tenho agora é principalmente trabalhar: Eu tenho um script executado a partir de aplicativos de inicialização que detecta o teclado e executa xmodmap . Mas é um hack porque algo no Gnome ou Xlib ou Xorg ou qualquer outra coisa também está mexendo com o capslock do teclado e controlar o comportamento das teclas, de forma que eu tenho que ter um sleep 5 antes da chamada para xmodmap para dar ao Gnome / qualquer tempo para terminar seu "fiddling" para que minha chamada para xmodmap "ganhe". Isso também é um hack porque não lida com desconectar e conectar o teclado. Ele deve fazer isso com base no tipo de teclado conectado, não baseado em login ou logoff, bloqueio ou desbloqueio ou somente na inicialização do Linux. Também tive que ter alguma configuração que detecta bloqueio e desbloqueio da área de trabalho, bem como, em seguida, o Gnome / whatever tenta novamente redefinir o teclado após o desbloqueio.

Isso é possível fazer?

    
por bgoodr 04.03.2018 / 00:59

0 respostas