segundo teclado para executar comandos

16

No meu computador, tenho dois teclados USB conectados. Em vez de digitar a mesma tecla, é possível que um segundo teclado seja configurado para executar comandos em vez de digitar letras? E se isso não for possível, ele pode ser configurado para pelo menos digitar outro idioma como o russo, por exemplo?

captainandcoke
fonte
Deseja vincular comandos específicos às teclas escolhidas do segundo teclado para poder executar apenas algo e não digitar letras?
Pbm
E a próxima pergunta: você deseja usar atalhos para executar aplicativos em segundo plano (ou aplicativo no ambiente X) ou apenas digitar o nome do comando no terminal ativo usando o atalho de teclado?
Pbm
Maneira alternativa de desativar o envio de chaves para aplicativos. askubuntu.com/a/178741/554601
Ariunbayar

Respostas:

15

Esta é a minha terceira resposta quando eu posso recomendar actkbd... :)

Portanto, se você deseja configurar todas as teclas do segundo teclado para executar comandos para não digitar letras, pode usar actkbd... :)

Após a instalação actkbd, precisamos encontrar qual arquivo de dispositivo é usado para receber eventos do teclado:

pbm@tauri ~ $ cat /proc/bus/input/devices 
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5 
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]

Nesta lista, você deve encontrar o teclado e verificar os manipuladores. Use sudo actkbd -s -d /dev/input/HANDLER_NAMEpara verificar se esse manipulador envia eventos. Se você executar este comando e pressionar a tecla no teclado (verifique as teclas que deseja vincular aos comandos), deverá obter algo assim:

pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5 
Keys: 57
Keys: 35

Se você tiver códigos de chave, podemos criar o actkbdarquivo de configuração:

pbm@tauri ~ $ sudo nano /etc/actkbd.conf 
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a

Quando você salva esse arquivo, devemos testar se a configuração funciona:

pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D

Quando você pressiona a tecla que você possui no seu comando config file, a última coluna do arquivo config será iniciada.

Eu acho que existe uma maneira de desativar o envio de chaves para aplicativos, mas não consegui encontrá-lo - confira o arquivo README .

Em vez de tentar desativá-lo usando, actkbdvocê pode desligar o teclado no X.

pbm@tauri ~ $ xinput list
[cut]
    ↳ Logitech USB Keyboard                     id=12   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=11   [slave  keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0

Ele deve fazer o trabalho ... :) Para mais informações sobre actkbdcheck-out esta resposta .

Usando actkbd(e alguns scripts provavelmente), você também pode configurar o teclado para alterar os modos do modo de comando para o modo de entrada com letras russas. Para esta Ulrich Schwarz'sresposta de leitura .

pbm
fonte
11
Fiz essa pergunta um milhão de vezes em um bilhão de fóruns e você é o único que realmente é novo nisso. Graças um trilhão.
Captainandcoke
0

Eu escrevi um pequeno programa em C que pode fazer isso. Eu escrevi 'on the fly', então não é muito bom, mas funciona. Você pode obtê-lo aqui .

user388315
fonte
Olá e bem-vindo ao site do Unix e Linux Stack Exchange. Consulte a Central de Ajuda e faça o tour para saber mais sobre este site. Embora seu link possa fornecer uma solução para o problema do usuário, você poderia adicionar um contexto adicional à sua postagem? Atualmente, essa é apenas uma oferta para baixar software de um site de terceiros. Você deve incluir o que isso faz, como instalá-lo e usá-lo e por que ele responde à pergunta em questão. Obrigado.
kemotep