J'ai un clavier Mac où les touches Alt / Win (c'est-à-dire Option / Commande) sont inversées par rapport à un clavier PC ordinaire, et je voudrais les échanger. Je n'ai pas eu de chance avec xmodmap jusqu'à présent. La configuration standard est la suivante:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (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)
Actuellement, les touches alt gauche / droite sont les codes clés 64 et 108, tandis que les touches fenêtres gauche / droite sont 133 et 134.
J'apprécie toute aide!
setxkbmap -device 8 dvorak -option altwin:swap_alt_win,ctrl:nocaps
. Je veux seulement que les bons Alt et Win soient échangés. Cela ne veut pas « annulent » l'échange gauche:setxkbmap -device 8 dvorak -option altwin:swap_lalt_lwin,altwin:swap_alt_win,ctrl:nocaps
. Il n'y a apparemment aucunealtwin:swap_ralt_rwin
option, selonman xkeyboard-config
.Réponses:
Voici mon Xmodmaprc:
Vous devrez modifier votre .xsession ou .xinitrc pour appeler xmodmap .Xmodmaprc
la source
J'ai réussi cela dans Ubuntu 13.04 en combinant la réponse de Christophe (ce qui m'a aidé, mais n'a pas fonctionné pour les modificateurs et je n'ai pas besoin que grave et tilde soient des clés mortes), une autre réponse sur setxkbmap , jouant avec différentes options dans les paramètres - clavier-disposition-options (même en regardant le code source ) et en inspectant la configuration actuelle en utilisant la commande
setxkbmap -query
(que vous devez également exécuter, pour vérifier votre modèle de clavier spécifique et les codes de disposition car ils peuvent différer).J'ai un script que j'appelle lorsque je passe à un clavier Apple (l'option cruciale étant
altwin:swap_lalt_lwin
d'échanger les touches de modification Alt et Super):Et un autre que j'appelle quand je suis de retour sur un clavier normal:
Notez que j'ai ajouté les paramètres
pour activer la terminaison de la session Gnome ctrl + alt + backspace, l'accès aux touches de niveau 3 à l'aide de la bonne touche de victoire, le changement de disposition en appuyant sur les deux touches Maj et transformé mon verrouillage des majuscules en Ctrl supplémentaire (respectivement). Vous voudrez peut-être en exclure certains ou tous.
Vous pouvez utiliser AutoKey pour lier l'appel à un raccourci clavier, ou l'appeler depuis votre
.profile
ou.bashrc
si vous utilisez tout le temps le clavier Apple.la source
setxkbmap -option altwin:swap_lalt_lwin
et si vous voulez passer à la fois alt gauche et à droite et les touches super, utilisez cette commande:setxkbmap -option altwin:swap_alt_win
.J'ai trouvé que sur Ubuntu 16.04 qui utilise xkb et gnome, vous avez besoin de quelques étapes supplémentaires par rapport à la réponse de Christopher Devine ci-dessus si vous souhaitez conserver tout le comportement de raccourci pour les touches alt et super. C'était la solution la plus simple que j'ai trouvée.
Pour obtenir vos numéros de code, sur la ligne de commande
$ xev
et tapez les clés pour lesquelles vous souhaitez obtenir le numéro. Pour plus d'informations à ce sujet, consultez cet article: utilisation de xev et xmodmapCela me donne:
Super_L
a le code clé 133Alt_L
a le code clé 64Donc, pour échanger la commande Windows aka Command (sur Mac) aka Super avec la touche Alt gauche, je le fais:
Les deux dernières lignes ajoutent le mod1 et le mod4 dans le keysym pour Alt_L et Super_L juste comme ils ont été supprimés. Si cela n'est pas fait, je perds les raccourcis associés à la super clé (recherche) et cela brise également le combo alt + tab pour basculer entre les fenêtres.
Vous pouvez ajouter ces commandes dans un fichier comme .xmodmap, puis
$ xmodmap .xmodmap
les exécuter.Alternativement, vous pouvez les exécuter séquentiellement sur la ligne de commande comme:
$ xmodmap -e <expression here>
Si vous souhaitez revenir aux mappages de touches par défaut, vous pouvez inverser les nombres dans le code ci-dessus, comme:
ou dans Ubuntu je lance juste:
$ setxkbmap
la source
Vous pouvez également définir les
hid_apple
options du module du noyau pour modifier uniquement votre clavier Apple, mais pas les claviers PC normaux. Pas besoin d'utiliser xkbmap ou Xmodmapr. Il suffit de créer le fichier/etc/modules.d/hid_apple.conf
avec le contenufnmode=2
mappe les touches de fonctionF1...F12
sans avoir à appuyer surFn
. Omettez-le si vous préférez les clés multimédias. Voir l' Arch Wiki pour plus.En permanence sur Ubuntu :
la source
Je recommanderais de ne pas utiliser xmodmap à l'avenir car il ne fonctionne pas dans Wayland, mais à part setxkbmap ou xkbcomp serait la meilleure méthode à utiliser à l'avenir et mon projet Kinto l'utilise.
Kinto échangera les clés que vous souhaitez, mais il écoutera également l'application que vous utilisez, afin que vous puissiez conserver la bonne carte des touches pour les applications de terminal afin qu'elle corresponde à votre expérience avec un Mac.
Voici les liens pertinents, mais j'inclurai également le cœur de ce que Kinto fait également - moins les cartes de touches personnalisées et la capacité de carte de touches alternée, de sorte que vous avez une idée de ce que Kinto fait réellement.
https://github.com/rbreaves/kinto
https://medium.com/@benreaves/kinto-a-mac-inspired-keyboard-mapping-for-linux-58f731817c0
https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb
Contenu essentiel
la source