web-dev-qa-db-fra.com

Activation des macros clés d'Alienware 17R4 et utilisation sous Ubuntu 16.04

J'ai donc un Alienware 17R4 qui a 6 Macrokeys sur le côté gauche nommé: x, 1,2,3,4,5
et 4 macrokeys sur le dessus du clavier à droite nommés: 6,7,8,9
Sous Windows, je peux utiliser la macro-clé x pour basculer les macro-touches numérotées de 1 à 5 entre trois modes différents. Donc, fondamentalement, il y a 15 macrokeys au lieu de 5.
Ma question est de savoir comment puis-je faire la même chose sur Ubuntu?

Les choses méritent d'être mentionnées:

Utilisation de la commande showkey Je ne parviens même pas à obtenir un scancode pour les touches macro lorsque je les appuie. Également dans le résultat de xmodmap -pke, il y a des lignes vides pour certaines clés, ce qui rend mon hypothèse correcte. Donc comment puis-je les activer? Parce qu'une fois activés, je peux utiliser leur code de balayage pour leur affecter des macros. Aussi _ Comment puis-je utiliser la macrokey x pour changer leurs modes?

4
user746434

J'ai le même problème sur mon AW15R3 et je l'ai résolu

d'abord, installez les paquets suivants sur Ubuntu.

Sudo apt install  ghc libusb-1.0-0-dev cabal-install git pkg-config python-usb -y

puis obtenez le code d'analyse de chaque clé à l'aide de la commande suivante:

dmesg | grep -i code

par exemple, lorsque j'appuie sur la touche de macro 4, le message suivant est imprimé pour indiquer que le scancode est e015

[ 1737.342249] atkbd serio0: Unknown key released (translated set 2, code 0x95 on isa0060/serio0).

Maintenant, le "e015" est le code de numérisation et vous devez le mapper sur un code gratuit dans le système. Cela pourrait se produire en exécutant Sudo setkeycodes e011 204 afin de créer un script sous /etc/init.d afin de mapper les codes de balayage sur un code d'activation disponible pour toutes les clés.

Veuillez noter que vous devez exécuter les commandes ci-dessous sur la console Linux et non sur le serveur x (Ctrl+Shift+F3 passer à la console Linux depuis X). Utilisez Sudo vim /etc/init.d/keyremap et mappez les codes sur les keycodes:

Sudo setkeycodes e011 146
Sudo setkeycodes e012 148
Sudo setkeycodes e013 149
Sudo setkeycodes e014 203
Sudo setkeycodes e015 204
Sudo setkeycodes e016 184

Ensuite, rendre le script exécutable par chmod +x keyremap

Enfin, utilisez l'utilitaire xmodmap pour mapper les codes de clé sur keysym afin que votre Xorg puisse comprendre et intercepter les événements de clé à l'aide de vim ~/.Xmodmap:

  keycode 154 = XF86Launch0
  keycode 156 = XF86Launch1
  keycode 157 = XF86Launch2
  keycode 211 = XF86Launch3
  keycode 212 = XF86Launch4
  keycode 172 = XF86Launch5

Puis lancez Sudo xmodmap ~/.Xmodmap

Vous pouvez maintenant mapper le XF86Launchx à n'importe quelle action à l'aide des raccourcis clavier:

enter image description here

Vous pouvez créer une entrée dans rc.local afin que ces scripts soient exécutés automatiquement au démarrage de la machine.

2
Basim Aly