Q: comment basculer entre les méthodes de saisie pour différentes langues lors de l'utilisation d'une disposition de clavier non standard?
Je dois modifier le texte dans deux langues différentes. J'aimerais pouvoir utiliser mes raccourcis clavier dans les deux langues, sauf, bien sûr, lors de l'insertion de texte dans le tampon. Il semble que je devrais pouvoir toggle-input-method
( C-\
) et sélectionner la langue alternative.
Jusqu'à présent, presque si bon.
Voici le hic: j'utilise la disposition anglaise Dvorak, que j'ai définie au niveau du système d'exploitation (c'est-à-dire avec setxkbmap
). Quand je toggle-input-method
, le texte que j'insère serait correct si j'avais une mise en page QWERTY (la norme aux États-Unis), mais apparaît comme du charabia parce que je suis sur Dvorak. (FWIW, lorsque je change ma mise en page aux États-Unis standard, cela fonctionne bien.)
Donc: comment informer Emacs que j'utilise Dvorak pour que toggle-input-method
mes amis traduisent mes touches en caractères corrects dans l'autre langue?
Réponses:
Il existe une méthode pour modifier la définition de la disposition physique de la méthode d'entrée en définissant
quail-keyboard-layout-type
. Mais il semble que Dvorak ne figure pas parmi les candidats possiblesquail-keyboard-layout-alist
dans mon Emacs 24.4.Vous pouvez soit définir une nouvelle disposition de clavier physique en regardant la définition de
quail-keyboard-layout-alist
dans,quail.el
soit créer une nouvelle méthode de saisie en définissant les touches arabes correspondantes pour la disposition Dvorak.Je n'ai pas d'expérience dans la première, mais je peux témoigner que la deuxième approche est plus facile que vous ne le pensez. (J'ai dû créer une méthode de saisie turque ottomane en plus du persan.) Copiez
arabic.el
(qui réside dans mon système Debian à/usr/share/emacs/24.4/lisp/leim/quail/arabic.el.gz
) chez voussite-lisp
et modifiez les clés selon vos préférences. N'oubliez pas non plus de changer les noms des méthodes de saisie, etc. Vous venez de créer une nouvelle méthode de saisie Dvorak-arabe.Je peux mettre à jour la réponse avec plus de détails si quelque chose semble complexe.
la source
...-alist
version.quail-. *-alist
développement d'Emacs. Je suis sûr que d'autres utilisateurs de Dvorak en bénéficieront.@EmreSahin m'a mis sur la bonne voie pour répondre à cette question, donc je présente un peu les détails au cas où quelqu'un d'autre aurait à faire face à un problème comme celui-ci.
Comme le souligne Emre, nous devons ajouter une disposition Dvorak
quail-keyboard-layout-alist
. Il s'avère que laquail
bibliothèque n'est pas bien documentée dans le manuel , dans lequel deux fonctions liées sont mentionnées en passant sur un nœud.Cependant, après avoir consulté ce fil d'aide et, en particulier, la page EmacsWiki sur le russe avec Dvorak (à partir de laquelle cette réponse cribs), je pense que je l'ai compris.
La docstring de la variable
quail-keyboard-layout
décrit ce que nous devons mettrequail-keyboard-layout-alist
. C'est une longue chaîne correspondant à 6 rangées de 15 touches chacune. Chaque ligne correspond aux valeurs non décalées et décalées de chaque clé, pour un total de 30 caractères par ligne. Je suis moins sûr du point suivant, mais il semble que, pour ce que j'appellerai des claviers "semi-standard" avec 4 rangées de touches, les première et sixième rangées devraient chacune avoir 30 espaces vides.La grande révélation:
la source