deuxième clavier pour exécuter les commandes

16

Sur mon ordinateur, j'ai deux claviers USB branchés. Au lieu d'avoir les deux à taper la même clé, est-il possible qu'un deuxième clavier soit configuré pour exécuter des commandes au lieu de taper des lettres? Et si ce n'est pas possible, peut-il être configuré pour au moins taper dans une autre langue comme le russe par exemple?

capitaine et coca
la source
Voulez-vous lier des commandes spécifiques aux touches choisies du deuxième clavier pour pouvoir exécuter uniquement quelque chose et non taper des lettres?
pbm
Et question suivante: voulez-vous utiliser des raccourcis pour exécuter des applications en arrière-plan (ou une application dans un environnement X) ou simplement taper le nom de la commande dans le terminal actif en utilisant un raccourci clavier?
pbm
Autre moyen de désactiver l'envoi de clés aux applications. askubuntu.com/a/178741/554601
Ariunbayar

Réponses:

15

Ceci est ma troisième réponse quand je peux recommander actkbd... :)

Donc, si vous souhaitez configurer toutes les touches du deuxième clavier pour exécuter des commandes et non pour taper des lettres, vous pouvez utiliser actkbd ... :)

Après l'installation, actkbdnous devons trouver le fichier de périphérique utilisé pour recevoir les événements à partir du clavier:

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]

Sur cette liste, vous devriez trouver votre clavier et vérifier ses gestionnaires. Utilisez sudo actkbd -s -d /dev/input/HANDLER_NAMEpour vérifier si ce gestionnaire envoie des événements. Si vous exécutez cette commande et appuyez sur la touche du clavier (recherchez les touches que vous souhaitez lier aux commandes), vous devriez obtenir quelque chose comme ça:

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

Si vous avez des codes clés, nous pourrions créer un actkbdfichier de configuration:

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

Lorsque vous enregistrez ce fichier, nous devons tester si la configuration fonctionne:

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

Lorsque vous appuyez sur la touche que vous avez dans votre fichier de configuration, la commande de la dernière colonne du fichier de configuration démarre.

Je pense qu'il existe un moyen de désactiver l'envoi de clés aux applications, mais je n'ai pas pu le trouver - consultez le fichier README .

Au lieu d'essayer de le désactiver, actkbdvous pouvez désactiver votre clavier dans 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

Il devrait faire le travail ... :) Pour plus d'informations sur la actkbdvérification de cette réponse .

En utilisant actkbd(et probablement quelques scripts), vous pouvez également configurer votre clavier pour changer les modes du mode de commande au mode d'entrée avec des lettres russes. Pour cette lecture, Ulrich Schwarz'srépondez.

pbm
la source
1
J'ai posé cette question un million de fois sur un milliard de forums et vous êtes le seul à en avoir une nouvelle. Merci mille milliards.
captainandcoke
0

J'ai écrit un petit programme en C qui peut le faire. Je l'ai écrit «à la volée», donc ce n'est pas très bon, mais ça marche. Vous pouvez l'obtenir ici .

user388315
la source
Bonjour et bienvenue sur le site Unix et Linux Stack Exchange. Veuillez consulter le centre d'aide et faire le tour pour en savoir plus sur ce site. Bien que votre lien puisse fournir une solution au problème de l'utilisateur, pourriez-vous s'il vous plaît ajouter un contexte supplémentaire à votre message? Actuellement, ce n'est qu'une offre de téléchargement de logiciels à partir d'un site tiers. Vous devez inclure ce que cela fait, comment l'installer et l'utiliser et pourquoi il répond à la question posée. Je vous remercie.
kemotep