Je suis développeur et j'utilise actuellement Ubuntu Linux avec PyCharm IDE pour le développement de site Web. Afin d'améliorer les performances de frappe, je considère changer CapsLock en Hyper_L et l'affecter à mod3 en utilisant xmodmap. Après cela, je veux mapper mod3 pour la touche «i» à «Up». Jusqu'à présent, ce que j'ai fait est:
xmodmap -e "keysym Caps_Lock = Hyper_L"
la sortie est comme ceci:
shift Shift_L (0x32), Shift_R (0x3e)
lock Hyper_L (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
puis je supprime Hyper_L du mod4
xmodmap -e "remove Mod4 = Hyper_L"
Ensuite, j'ai essayé d'assigner Hyper_L au mod3
xmodmap -e "add Mod3 = Hyper_L"
Cependant, j'ai eu une erreur comme suit:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 11
Current serial number in output stream: 11
Alors, quel était le problème ici? Comment puis-je le faire fonctionner? Mon approche est-elle correcte? Ou devrais-je utiliser une approche différente afin d'utiliser le mod3 pour les clés personnalisées?
PS J'utilise le clavier Microsoft Natural Ergonomic 7000
Je sais que cette question est assez ancienne, mais je dois partager ma solution, car (frustrant) la réponse de heymantthew n'a pas fonctionné pour moi. Ce qui a fini par fonctionner pour moi:
Cela activera le verrouillage des majuscules comme clé mod3, définira la mise en page sur "us" et définira la variante sur "intl". Si vous utilisez un shell interactif comme le poisson, vous pouvez appuyer sur tab après "-layout", "-option" ou "-variant" pour obtenir une liste complète des paramètres possibles.
Contexte supplémentaire: J'ai essayé l'approche xmodmap il y a un an sur une machine Ubuntu exécutant le gestionnaire de fenêtres i3, en passant de l'environnement gnome standard. J'avais modifié la disposition du clavier "us" xkb, en particulier l'international avec des touches mortes - cela fonctionnait bien lors de l'utilisation de gnome-desktop-manager (il y a une option pour définir le verrouillage des majuscules comme clé mod3), mais je ne pouvais pas le faire fonctionner avec xmodmap. C'était mon erreur: je pensais que l'interface graphique gdm utilisait xmodmap pour mapper le verrouillage des majuscules au mod3, mais en réalité, il définissait cette option X11. Maintenant que je suis passé à Arch, j'ai été obligé de le découvrir.
Je recommande à tous ceux qui envisagent de jouer avec cela de lire les pages de manuel sur localectl, xmodmap, setxkbmap et de tester les dispositions en ajoutant une partie veille et retour:
cela m'a fait gagner beaucoup de temps.
Cependant, je ne comprends toujours pas comment l'approche xmodmap ne fonctionne pas. J'espère que cela aide quelqu'un.
la source