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?
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:
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.