Bonjour !
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Bref, mon clavier et moi vivions heureux comme ça depuis des années,
lorsque soudain l'envie me pris d'installer emacs pour apprendre le lisp
(j'utilise vi comme éditeur d'habitude).
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
Je n'y comprend rien ! J'ai essayé pendant des heures de changer ma
configuration clavier sous X mais rien n'y fait. Quelqu'un peut-il
m'aider à comprendre ce qui se passe entre mon clavier et emacs ?
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Toute information est bienvenue !
Bonjour !
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Bref, mon clavier et moi vivions heureux comme ça depuis des années,
lorsque soudain l'envie me pris d'installer emacs pour apprendre le lisp
(j'utilise vi comme éditeur d'habitude).
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
Je n'y comprend rien ! J'ai essayé pendant des heures de changer ma
configuration clavier sous X mais rien n'y fait. Quelqu'un peut-il
m'aider à comprendre ce qui se passe entre mon clavier et emacs ?
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Toute information est bienvenue !
Bonjour !
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Bref, mon clavier et moi vivions heureux comme ça depuis des années,
lorsque soudain l'envie me pris d'installer emacs pour apprendre le lisp
(j'utilise vi comme éditeur d'habitude).
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
Je n'y comprend rien ! J'ai essayé pendant des heures de changer ma
configuration clavier sous X mais rien n'y fait. Quelqu'un peut-il
m'aider à comprendre ce qui se passe entre mon clavier et emacs ?
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Toute information est bienvenue !
Merci.
Je viens de me rendre compte que le problème n'a rien à voir avec
Mode_switch, puisque si je mappe un keysym accentué sur une touche
quelconque sans modifier, ou si je copie-colle dans emacs un caractère
accentué le comportement d'emacs est le même.
Il s'agit donc d'une question spécifique emacs.
Désolé pour le bruit.
Ceci dit, si quelqu'un connait un bon article ou livre dans lequel le
traitement des touches est bien expliqué, je suis prenneur (entre les
terminaux, X11, les différents encodages et les bibliothèques style
termios...)
Merci.
Je viens de me rendre compte que le problème n'a rien à voir avec
Mode_switch, puisque si je mappe un keysym accentué sur une touche
quelconque sans modifier, ou si je copie-colle dans emacs un caractère
accentué le comportement d'emacs est le même.
Il s'agit donc d'une question spécifique emacs.
Désolé pour le bruit.
Ceci dit, si quelqu'un connait un bon article ou livre dans lequel le
traitement des touches est bien expliqué, je suis prenneur (entre les
terminaux, X11, les différents encodages et les bibliothèques style
termios...)
Merci.
Je viens de me rendre compte que le problème n'a rien à voir avec
Mode_switch, puisque si je mappe un keysym accentué sur une touche
quelconque sans modifier, ou si je copie-colle dans emacs un caractère
accentué le comportement d'emacs est le même.
Il s'agit donc d'une question spécifique emacs.
Désolé pour le bruit.
Ceci dit, si quelqu'un connait un bon article ou livre dans lequel le
traitement des touches est bien expliqué, je suis prenneur (entre les
terminaux, X11, les différents encodages et les bibliothèques style
termios...)
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
À (at) 11 Apr 2007 11:53:24 GMT,
écrivait (wrote):
[... plein de choses sur la configuration X11...]Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Là, j'ai un doute. Comment tourne emacs ? En mode X11 ou dans un
terminal ? Les manières de configurer ces deux modes n'ont strictement
rien à voir l'une avec l'autre.
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
À (at) 11 Apr 2007 11:53:24 GMT,
rixed@happyleptic.org écrivait (wrote):
[... plein de choses sur la configuration X11...]
Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Là, j'ai un doute. Comment tourne emacs ? En mode X11 ou dans un
terminal ? Les manières de configurer ces deux modes n'ont strictement
rien à voir l'une avec l'autre.
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
À (at) 11 Apr 2007 11:53:24 GMT,
écrivait (wrote):
[... plein de choses sur la configuration X11...]Informations complémentaires : emacs est la version 21, compilée sans
X11, sous debian Etch, tournant dans un screen (TERM=screen, mais j'ai
essayé avec "xterm" et ça ne change rien), dans un xterm, dans un X-org,
avec la configuration de xmodmap décrite ci-dessus, en locales C.
Là, j'ai un doute. Comment tourne emacs ? En mode X11 ou dans un
terminal ? Les manières de configurer ces deux modes n'ont strictement
rien à voir l'une avec l'autre.
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
J'utilise un clavier qwerty modèle réduit très pratique, avec touche
control et meta bien placées. J'ai un fichier modmap qui défini
correctement toutes ces touches. Pour écrire des textes avec des
caractères accentués j'ai pris l'habitude d'utiliser le modificateur
Mode_shift (que j'attribue à la touche Meta_L). Voici un exemple de la
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
Bon, c'est pas grave, j'ai bien tapper sur Esc.
Plus grave : lorsque j'envoie Mode_shift+e, je m'attends à ce qu'il
affiche 'é', mais non : il me fait quelquechose d'équivalent à [M-h]
(selon [C-h l]).
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
Sauf qu'en général, le terminal utilisé est xterm...
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
Sauf qu'en général, le terminal utilisé est xterm...
Or vous indiquez « emacs 21 compilé *sans* X11 » ! Dans ce cas, vous
utilisez emacs en mode terminal et vos règlages X11 importent peu.
Sauf qu'en général, le terminal utilisé est xterm...
Petite question : connaissez-vous beaucoup de programmes tournant dans
un terminal qui sachent distinguer la touche control gauche de la
touche control droite ? ou qui connaisse la touche meta ? etc.
Petite question : connaissez-vous beaucoup de programmes tournant dans
un terminal qui sachent distinguer la touche control gauche de la
touche control droite ? ou qui connaisse la touche meta ? etc.
Petite question : connaissez-vous beaucoup de programmes tournant dans
un terminal qui sachent distinguer la touche control gauche de la
touche control droite ? ou qui connaisse la touche meta ? etc.
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
Mon dieu quelle horreur!
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Mouarf. La convention habituelle est plutôt de considérer que Mod1=Meta et
Mod2=Alt. Normalement, ça ne devrait avoir aucune importance, mais les
programmes modernes hardcodent cette correspondance
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
C'est parfaitement normal. Ton xterm reçoit le Alt-a, et il le traduit en a
tout court. Ce qu'il te faut, c'est que le keysym Meta_L ou Meta_R soit
associée à un modificateur, et appuyer sur une touche générant le keysym en
question en même temps que « a ». Là, xterm devrait le traduire en « ^[ a »,
que emacs comprendra comme M-a. (Enfin, encore faut-il que ton xterm soit
configuré pour ça, parce qu'il peut aussi être configuré pour traduire le
meta en +8. Assure-toi d'avoir « XTerm*eightBitInput:false » dans ton
.Xresources.)
Par défaut, emacs traduit un caractère supérieur à 128 comme le -8
métaifié. Il faut mettre « (set-input-mode nil nil 1) » dans le .emacs pour
le calmer.
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
Mon dieu quelle horreur!
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Mouarf. La convention habituelle est plutôt de considérer que Mod1=Meta et
Mod2=Alt. Normalement, ça ne devrait avoir aucune importance, mais les
programmes modernes hardcodent cette correspondance
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
C'est parfaitement normal. Ton xterm reçoit le Alt-a, et il le traduit en a
tout court. Ce qu'il te faut, c'est que le keysym Meta_L ou Meta_R soit
associée à un modificateur, et appuyer sur une touche générant le keysym en
question en même temps que « a ». Là, xterm devrait le traduire en « ^[ a »,
que emacs comprendra comme M-a. (Enfin, encore faut-il que ton xterm soit
configuré pour ça, parce qu'il peut aussi être configuré pour traduire le
meta en +8. Assure-toi d'avoir « XTerm*eightBitInput:false » dans ton
.Xresources.)
Par défaut, emacs traduit un caractère supérieur à 128 comme le -8
métaifié. Il faut mettre « (set-input-mode nil nil 1) » dans le .emacs pour
le calmer.
configuration de xmodmap :
! Mode_shift + e donne "é" par exemple
keycode 26 = e E egrave Egrave
...
! Meta_L est la touche diamand de gauche
keycode 131 = Meta_L
...
! Mode_shift est sur la même touche
keysym Meta_L = Mode_switch Meta_L
Mon dieu quelle horreur!
...
! OpenBox utilise mod1, utiliser Alt_L pour cela
add mod1 = Alt_L
Mouarf. La convention habituelle est plutôt de considérer que Mod1=Meta et
Mod2=Alt. Normalement, ça ne devrait avoir aucune importance, mais les
programmes modernes hardcodent cette correspondance
Première surprise : la touche meta ne fonctionne pas. Lorsque j'appuis
sur Alt_L et 'a', je m'attend à faire un [M-a], mais emacs affiche
sobrement 'a' (si je vérifie avec [C-h l], j'ai bien seulement 'a').
C'est parfaitement normal. Ton xterm reçoit le Alt-a, et il le traduit en a
tout court. Ce qu'il te faut, c'est que le keysym Meta_L ou Meta_R soit
associée à un modificateur, et appuyer sur une touche générant le keysym en
question en même temps que « a ». Là, xterm devrait le traduire en « ^[ a »,
que emacs comprendra comme M-a. (Enfin, encore faut-il que ton xterm soit
configuré pour ça, parce qu'il peut aussi être configuré pour traduire le
meta en +8. Assure-toi d'avoir « XTerm*eightBitInput:false » dans ton
.Xresources.)
Par défaut, emacs traduit un caractère supérieur à 128 comme le -8
métaifié. Il faut mettre « (set-input-mode nil nil 1) » dans le .emacs pour
le calmer.