Existe-t-il une disposition du clavier US International sous Linux qui imite le comportement de Windows?

12

J'ai l'habitude d'utiliser US International comme disposition de clavier. Cependant, l'implémentation semble différer considérablement entre Windows et Linux (Gnome, dans mon cas - peut bien être un problème GTK car GTK se comporte de la même manière sous Windows).

La mise en page utilise des touches mortes, par exemple pour les clés telles que ', ", ^, etc.. permettant la saisie facile de caractères avec des signes diacritiques. Sous Windows, le fait d'appuyer sur une touche morte, puis sur une touche sans paire associée entraîne le caractère de la touche morte (lorsqu'elle est associée à un espace) et le caractère de la deuxième clé. Exemple: Appuyez sur ", adonne «ä», cependant, appuyez sur ', sdonne «», car il n'y a pas d'appariement pour 'et s.

Maintenant, il existe une langue appelée anglais qui utilise fréquemment ces deux caractères et comme il fonctionne sous Windows pour les taper comme d'habitude, c'est la mémoire musculaire pour moi maintenant. Ce qui m'amène à mon problème:

Sous Linux (et GTK sous Windows), il y a un appariement pour 'et s(parmi beaucoup d' autres), ce śqui entraîne (ce qui m'amène à taper fréquemment "itś"). Donc , en tapant «c'est » me oblige à taper ',         , sà la fin.

Il y a quelques autres combinaisons auxquelles je suis habitué qui ne fonctionnent pas. Parmi celles -ci est que pour les couples non-Existant simplement rien est le résultat. Taper «je» donne «je». Appuyer deux fois sur l'une de ces touches entraîne un diacritique sans espacement qui brise mon habitude de taper des chaînes en tapant d'abord les deux guillemets (ce qui entraîne maintenant un accent aigu ou un macron sans espacement).

Longue histoire courte: Aucune des dispositions internationales des États - Unis fournis semble fonctionner le même que dans Windows - sont - il que faire le travail identique? Ou une chance de le configurer de cette façon? Bien qu'il puisse être agréable de taper un s avec un accent aigu ou des signes diacritiques sans espacement, ce ne sont pas exactement des besoins communs pour moi.

Joey
la source
1
Pour ceux qui se demandent pourquoi j'utilise US International, au lieu de quelque chose d'autre: je viens d'Allemagne et j'ai parfois besoin de taper des choses comme ä, ö, ü, ß. Mais la plupart des concepteurs de langages de programmation conçoivent leurs langages pour une seule mise en page, de sorte que les utilisateurs doivent recourir à des combinaisons de touches pour saisir des caractères tels que des accolades ou une barre oblique inversée.
Joey

Réponses:

6

Une possibilité est d'éviter d'avoir des touches mortes et de taper des lettres accentuées avec une touche Composer à la place. Par exemple, tapez Compose " apour entrer ä. Vous devrez choisir une option de disposition de clavier qui comprend une Composetouche; un choix courant est la touche à gauche de la Ctrltouche droite (que je pense que Windows appelle Menu). L'avantage Composeest que vous pouvez saisir de nombreux caractères fantaisies sans changer votre disposition principale. L'inconvénient est qu'il faut trois pressions au lieu de deux pour une lettre accentuée.

Alternativement, vous pouvez configurer l'effet des clés mortes en créant un fichier appelé .XCompose(note CApitalization) dans votre répertoire personnel et en listant les combinaisons souhaitées. Quelque chose comme:

inclure "/usr/share/X11/locale/en_US.UTF-8/Compose"

<dead_acute> <space>: "'" apostrophe
<dead_acute> <exclam>: "'!"
<dead_acute> <quotedbl>: "'\" "
# etc...
<dead_acute> <a>: "á"
<dead_acute> <b>: "'b"
# etc...

La syntaxe est assez simple: la séquence de touches à gauche de la :est transformée en chaîne entre ""à droite de la :. Le mot supplémentaire à droite est le symbole de clé (c'est-à-dire le nom de la clé) correspondant à cette séquence de clés; ce n'est pas terriblement important. Tout de a #à la fin de la ligne est ignoré.

Modifiez la première ligne pour pointer vers le fichier système si votre distribution le place à un endroit différent. Vous pouvez rechercher dans ce fichier des exemples de syntaxe supplémentaires. <Multi_key>est un autre nom pour la Composeclé.

À gauche, les noms entre les <crochets angulaires >sont des mots clés. Vous pouvez trouver la liste des keysymes dans /usr/include/X11/keysymdef.h(ce fichier est dans un package de développement, par exemple, x11proto-core-devsur Ubuntu).

Oui, c'est beaucoup de saisie, mais vous devriez pouvoir automatiser une grande partie de celui-ci en copiant-collant des morceaux keysymdef.het en faisant quelques remplacements de masse intelligents. Quelque chose qui vous aidera est que vous pouvez réutiliser le code hexadécimal à droite pour créer la chaîne de droite grâce à la syntaxe "\ x dd ": tournez par exemple

#define XK_exclam 0x0021 / * U + 0021 EXCLAMATION MARK * /

dans

<dead_acute> <exclam>: "'\ x21"

Enfin, vous pouvez configurer une disposition de clavier avec des touches mortes et une Composetouche. Étant allemand, vous pouvez configurer uniquement "une clé morte. Si vous suivez cette voie, l'option la plus simple consiste à utiliser l'interface graphique pour configurer un clavier sans clé morte et un .Xmodmapfichier pour la clé morte, contenant quelque chose comme

keysym apostrophe = apostrophe dead_quotedbl
Gilles 'SO- arrête d'être méchant'
la source
1
Ok, je vais l'examiner (pas sur l'autre machine en ce moment). Utiliser Compose n'est pas une option car je devrais réapprendre la mémoire musculaire et Linux n'est pas mon système principal de toute façon. Et ne supposez pas que juste parce que je suis allemand, je n'aurai jamais besoin de quoi que ce soit au-delà des trémas ;-). Il existe de nombreux mots importés d'autres langues qui utilisent également un accent grave ou aigu.
Joey
Il serait probablement préférable de commencer avec juste remplacer exactement les combinaisons avec lesquelles vous avez des problèmes, et d'ajouter au tableau lorsque vous trouvez de nouvelles choses qui vous <dead_acute> <s> : "'s"
dérangent
Vous devrez peut-être également configurer GTK_IM_MODULE=ximpour utiliser les séquences de composition définies dans ~/.XCompose, et non les intégrées GTK (!).
RolKau
3

Je sais que cette question est "résolue" depuis un certain temps. Cependant, je veux présenter ma solution, qui combine les résultats de cette page avec beaucoup de tests et d'expérimentation.

Win US Intl pour Linux est une série de scripts que j'ai écrits pour résoudre le problème des problèmes avec la disposition du clavier US Intl natif de Linux, tout comme l'OP l'a écrit. Je l'utilise principalement parce que ma langue maternelle est l'espagnol, et j'utilise toujours beaucoup de forums, textes, chats, etc. en anglais (comme ce site).

A noter: Ceci est en fait similaire (pas totalement égal) au comportement de Windows XP US - Disposition du clavier international.

Vous pouvez aller sur http://tamh.info/en/win-us-intl-4-linux/ pour le vérifier. Je suis en train de l'améliorer, en ajoutant plus d'entrées XCompose pour plusieurs autres cas limites, entre autres changements.

Tamh
la source
2
Le lien ne fonctionne pas.
tink