OVH Cloud OVH Cloud

Emacs, X11 et fonctionnement du clavier

13 réponses
Avatar
Sébastien Kirche
Bonjour,

je viens de passer un moment à batailler avec xmodmap pour modifier mon
clavier sans comprendre totalement ce que j'ai fait.

Sur mon iBook, les touches de la dernière rangée se présentent comme
suit : [fn] [ctrl] [option (alt)] [command (pomme)] [espace]...

Avec la disposition de clavier par défaut (xkbmodel macintosh, xkblayout us,
xkbvariant us mais j'ai aussi essayé ibook) xev m'indique que alt
retourne Alt_L et la pomme Super_L.

Mon problème avec Emacs c'est qu'il utilise alt comme touche Meta et
qu'il ne veut rien faire avec Super pour laquelle il n'y a aucun
binding, or moi je préfère utiliser la touche a plus proche d'espace
(soit pomme) comme touche Meta.

J'ai essayé de réaffecter les touches en inversant les valeurs des
keysyms associées aux keycodes de alt et pomme comme me les donnait xev
mais je ne suis pas parvenu à un résultat entièrement satisfaisant. J'ai
bien le Meta pour Emacs sur pomme mais alt réagit de même. Et c'est sans
avoir utilisé la keysym Meta_L mais Super_L sur alt et Alt_L sur pomme.

Je suis pas sûr d'avoir entièrement compris comment fonctionne tout le
truc. Notamment le principe des mod1 à mod5 et les recherches que j'ai
faites m'ont mené soit sur des définitions de keymap, soit sur la page
de man de xmodmap. De plus j'ai eu l'impression que la redéfinition des
touches via xmodmap nécessite de relancer les applications pour que la
modif soit prise en compte (du moins pour Emacs).

Auriez-vous de pointeurs vers une explication du fonctionnement du
clavier et des ses modificateurs ?

--
Sébastien Kirche

3 réponses

1 2
Avatar
lhabert
Vincent Lefevre :

les claviers Apple, où les touches gauches et droites des modifieurs sont
physiquement identiques (même keycode).



Au secours!!!!
Avatar
Sébastien Kirche
Le 13 June 2006 à 02:32, Vincent Lefevre s'est exprimé ainsi :

Ou quand Meta est utilisé pour autre chose, e.g. par le window
manager. C'est le cas avec Mac OS X et le X11 d'Apple, et il semble
qu'on ne peut pas remplacer la touche Pomme par une autre combinaison,
comme Ctrl-Pomme (ou alors il faut désactiver complètement les
raccourcis de X11).



Il y avait bien (setq mac-command-key-is-meta t) mais cela a été
supprimé du cvs et j'utilise encore (setq mac-pass-command-to-system
nil) mais je ne sais pas si cela fonctionne avec le X11 Apple : je
n'utilise que la version Aqua.

> Mais même avec cette touche j'hésite car elle nécessite deux appuis.
> Enfin c'est une question d'habitude je suppose. Moi je préfère quand
> même arriver à placer meta sur une touche à ma convenance pour
> utiliser les combinaisons standard.

Le problème est qu'il y a un nombre limité de touches sur le clavier,
surtout avec les claviers Apple, où les touches gauches et droites des
modifieurs sont physiquement identiques (même keycode).



Sur l'iBook le problème est différent : une seule touche Ctrl, une seule
Command et la touche Fn mal placée.
Mais à part cette inversion (à mon sens) de alt par rapport à un pécé
je n'ai pas trop de problème.

> > Work: CR INRIA - computer arithmetic / SPACES project at LORIA

> Tiens, tu bosses au Loria ? On est presque voisins alors :)

Plus pour longtemps, ceci dit.



Ah ? Les meilleures choses ont une fin :)
--
Sébastien Kirche
Avatar
Sébastien Kirche
Je réponds un peu tard : je n'avais pas tellement de temps à consacrerà
ce problème ces temps-ci. D'ailleurs je m'absente quelque temps du
groupe et au retour il y a 500 messages dans la pile. Les affaires
reprennent :)

Le 11 June 2006 à 20:00, Luc Habert a dit :

Bah je peux te dire ce que j'en connais. Déjà, sache que je ne
comprends rien à xkb qui rajoute un gros bazar par-dessus ce que je
vais t'expliquer.
[...]



Alors tes explications m'ont parfaitement permis de régler mon problème
qui était d'avoir sur l'iBook dans Emacs la touche Meta sur Cmd et non
sur Opt.

J'ai donc défini ce qui suit :
,----[ .Xmodmap3 ]
| clear Mod1
| clear Mod2
| clear Mod3
| clear Mod4
| clear Mod5
| keycode 64 = Alt_L Super_L
| keycode 115 = Meta_L
| keycode 108 = Multi_key
| add Mod1 = Meta_L
| add Mod2 = Alt_L
`----
Qui donne option = alt, command = Meta et accessoirement enter compose. Impeccable.

Détail : maintenant dans Emacs l'appui sur opt/alt produit une séquence
A- que je n'avais jamais vue auparavant...

Merci pour ces précieuses informations sur le fonctionnement des
modifiers dans X11.

Followup-To: fr.comp.os.linux.configuration
--
Sébastien Kirche
1 2