OVH Cloud OVH Cloud

iso-accent-mode et les apostrophes

7 réponses
Avatar
Sébastien Kirche
Bonjour,

je teste depuis quelques jours l'iso-accents-mode, avec les résultats
suivants :
- c'est super pratique pour le saisie des majuscules accentuées
- c'est super chTUUT quand on tape vite comme moi en suivant le fil de sa
pensée, et qu'on se relit et qu'on voit qu'on a tappé ceci :

<<cést super chTUUT quand on tape vite comme moi en suivant le fil de sa
pensée, et quón se relit et quón voit quón a tappé ceci >>

Voilà mon problème (du moment ;-).

Y a-t-il un moyen de saisir facilement les majuscules accentuées, tout en
ne pénalisant pas la saisie courante des apostrophes ?

Sébastien Kirche

7 réponses

Avatar
Sébastien Kirche
On 1 janv. 2004, Luc Habert wrote:

Sébastien Kirche :

> C'est bien <c-^ aprostrophe lettre> la saisie ?

Oui, mais en fait, il faut s'entendre sur le « ^ ». Si c'est un
« dead-circumflex », ça a de fortes chances de ne pas
marcher. Normalement, le bon, c'est le « alt-gr 9 » sur les claviers
azerty.



Ok je vois la différence.

Enfin de toutes manières, tu peux choisir autre chose que « C-^ », hein.



Ben, à défaut, je voudrais bien (mais j'peux point).

J'ai essayé diverses combinaisons sans succès.
Par exemple si je voulais utiliser la touche "²" (puissance 2, en haut à
gauche d'un clavier azerty) ?
(define-key key-translation-map [(control ?²)] 'iso-transl-ctl-8-x-map)
ou
(define-key key-translation-map [(control ²)] 'iso-transl-ctl-8-x-map)

veut rien savoir, ça bippe (version emacs xp) quand j'essaie.

J'ai bien du mal en ce début d'année...
D'ailleurs tu festoies pas à ct'heure (moi j'ai déjà fini) ??

Sébastien Kirche
Avatar
lhabert
Sébastien Kirche :

J'ai essayé diverses combinaisons sans succès.
Par exemple si je voulais utiliser la touche "²" (puissance 2, en haut à
gauche d'un clavier azerty) ?
(define-key key-translation-map [(control ?²)] 'iso-transl-ctl-8-x-map)



C'est une subtilité à la con sur laquelle on tombe dès qu'on essaye de
rebinder un caractère > 127. Ton « ?² », il ne vaut pas « 178 », mais
« 2226 » (parce qu'emacs doit noter que ce code représente un caractère
latin-1, donc il ne peut pas se contenter du code du caractère). Tandis que
quand tu tapes un caractère > 127 par certaines méthodes (sous X, quand la
touche est accessible directement au clavier, ou par alt gr, mais pas par
compose), le caractère que le coeur d'emacs reçoit est un caractère 8 bit et
non un caractère codé en mule (c'est « self-insert-command » qui se charge
de le transcoder en mule, ce que je trouve assez grotesque). Je suppose que
c'est ce qui t'arrive : tu as bindé « controle 2226 », mais c'est « controle
178 » qui arrive, et n'est donc pas trouvé dans la keymap...

Bref, ce serait « [(control 178)] » qu'il faudrait binder.

D'ailleurs tu festoies pas à ct'heure (moi j'ai déjà fini) ??



J'aurais pu, et en fait je me suis dit que j'étais trop crevé. Résultat, je
me relève à 3h du matin pour venir louzer un coup sur ma babasse...
Avatar
Sébastien Kirche
On 1 janv. 2004, Luc Habert wrote:


[explication technique et détaillée]

Bref, ce serait « [(control 178)] » qu'il faudrait binder.



Comment tu trouves cette valeur ? Apparamment c'est le code ascii ?
Et comment tu sais que pour n>127 c'est le borTUUT ?

Dans mon .gnus (hors de tout hook ou fonction ou je-sais-pas-quoi) :

(define-key key-translation-map [(control 178)] 'iso-transl-ctl-8-x-map)

ne me permet pas de faire <c-² ' E> pour insérer un É par exemple.
D'ailleurs, ca ne fait rien. Même pas biip.
Et c-h l indique bien c-²...
Je dois être trop bête. (ou il se fait trop tard).

> D'ailleurs tu festoies pas à ct'heure (moi j'ai déjà fini) ??

J'aurais pu, et en fait je me suis dit que j'étais trop crevé. Résultat,
je me relève à 3h du matin pour venir louzer un coup sur ma babasse...



Ben moi c'est la dernière de la soirée.
Merci pour ta bonne volonté, et à demain.
Moi je vais pieuter.

Sébastien Kirche

--
L'apprentissage d'emacs / gnus est décidément une longue route semée
d'embûches.
- C'est encore loin Grand Schtroumpf ?
- Non, non, plus très loin...
Avatar
lhabert
Sébastien Kirche :

Bref, ce serait « [(control 178)] » qu'il faudrait binder.



Comment tu trouves cette valeur ?



M-: (read-key-sequence "")

Apparamment c'est le code ascii ?



Latin-1, pas ascii. Ascii ne définit que jusqu'à 127 (euh, en fait entre 32
et 126, mais c'est un détail). Au-delà, il y a des tonnes de charsets
différents qui étendent l'ascii.

Et comment tu sais que pour n>127 c'est le borTUUT ?



L'expérience...

Dans mon .gnus (hors de tout hook ou fonction ou je-sais-pas-quoi) :



Euh, c'est plutôt dans le .emacs qu'il faudrait le mettre.
Avatar
Daniel Dechelotte
Sébastien Kirche a écrit :

| Oui, c-x 8 fonctionne, par contre après le c-^ rien.
|
| C'est bien <c-^ aprostrophe lettre> la saisie ?

Voici quatre lignes dans mon .emacs bien pratiques. Il suffit de saisir :
C-<accent> <lettre>
Par exemple C-' E donne É et C-" i donne ï.

(define-key key-translation-map [(control ?')] (lookup-key key-translation-map [(control ?x) ?8 ?']))
(define-key key-translation-map [(control ?`)] (lookup-key key-translation-map [(control ?x) ?8 ?`]))
(define-key key-translation-map [(control ?")] (lookup-key key-translation-map [(control ?x) ?8 ?"]))
(global-set-key [(control ?6)] (lookup-key key-translation-map [(control ?x) ?8 ?^]))

Dans le commentaire précédant ces quatre lignes, se trouve un
remerciement à... Luc Habert. ;-)

Bonne année !
-- Daniel
Avatar
Sébastien Kirche
On 1 janv. 2004, Daniel Dechelotte wrote:

Voici quatre lignes dans mon .emacs bien pratiques. Il suffit de saisir :
C-<accent> <lettre>
Par exemple C-' E donne É et C-" i donne ï.

(define-key key-translation-map [(control ?')] (lookup-key
key-translation-map [(control ?x) ?8 ?'])) (define-key key-translation-map
[(control ?`)] (lookup-key key-translation-map [(control ?x) ?8 ?`]))
(define-key key-translation-map [(control ?")] (lookup-key
key-translation-map [(control ?x) ?8 ?"])) (global-set-key [(control ?6)]
(lookup-key key-translation-map [(control ?x) ?8 ?^]))

Dans le commentaire précédant ces quatre lignes, se trouve un
remerciement à... Luc Habert. ;-)



(tiens trivial-cite a merTUUT avec les définitions de touches...
faut que je trouve comment empêcher le retour à la ligne pour certaines)

Oh OUI !
Ca marche impec...

Je comprends que la quatrième ligne concerne les accents circonflexes, mais
le global-set-key pour ce coup-ci après 3 define-key m'échappe...
Et pourquoi 6 ? Serait-ce un équivalent à mon clavier azerty qui comporte
un chapeau avec (alt-gr) 9 ?

Du coup, pour mon problème de redéfinir la touche "puissance 2" ça marche
avec
(define-key key-translation-map [(control 178)] (lookup-key
key-translation-map [(control ?x) ?8]))

Et du coup je ne devrais pas avoir à redéfinir d'autres touches.

J'ai trouvé dans la doc le noeud "single byte character support"
(maintenant que je sais quoi chercher), et qui décrit (entre autres) [c-x
8]. Mais je n'ai pas trouvé de liste des combinaisons possibles pour
composer un caractère. Je cherche notamment si le "e dans l'o"
existe. Serait-ce "æ" (/+e) ?


On 1 janv. 2004, Luc Habert wrote:

Euh, c'est plutôt dans le .emacs qu'il faudrait le mettre.



Oui c'est effectivement le bon endroit :)


Merci à vous deux !
Sébastien Kirche
Avatar
lhabert
Sébastien Kirche :

Mais je n'ai pas trouvé de liste des combinaisons possibles pour composer
un caractère.



Regarde le fichier « iso-transl.el ».

Je cherche notamment si le "e dans l'o" existe.



Non, car c'est une table de compose latin-1, or il n'y a pas de oe{} en
latin-1. (Aller, hop, c'est parti pour un petit troll sur latin-1 vs latin-9
vs unicode. Et puis on trouvera bien le moyen pour en venir à auctex. Les
traditions, c'est important:-)

Serait-ce "æ" (/+e) ?



Non. C'est un ae{}.