segundo teclado para executar comandos

14

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

    
por captainandcoke 03.04.2012 / 23:48

1 resposta

13

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

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

Depois de instalar o actkbd , precisamos descobrir 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 seu teclado e verificar seus manipuladores. Use sudo actkbd -s -d /dev/input/HANDLER_NAME para verificar se esse manipulador envia eventos. Se você executar este comando e pressionar a tecla no teclado (verifique as chaves que você deseja ligar aos comandos), você deve obter algo assim:

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

Se você tiver códigos de tecla, poderemos criar o arquivo de configuração actkbd :

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ê tem no seu comando config file da última coluna do arquivo de configuração será iniciado.

Acho que há uma maneira de desabilitar o envio de chaves para aplicativos, mas não consegui encontrá-lo - confira Arquivo README .

Em vez de tentar desativá-lo usando actkbd , você pode desativar 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 obter mais informações sobre actkbd , confira esta resposta .

Usando actkbd (e provavelmente poucos scripts), você também pode configurar o teclado para alterar os modos do modo de comando para o modo de entrada com letras russas. Para isso leia Ulrich Schwarz's resposta.

    
por 05.04.2012 / 22:20

Tags