Comment faire pour que le guillemet double se comporte comme une clé morte, sauf lorsqu'il est utilisé en combinaison avec lui-même


14

Lorsque j'utilise un clavier, j'attends les comportements suivants (et je compte sur ces comportements):

  • Appuyez ", relâchez" : vous devez vous souvenir de la clé comme d'une clé morte
  • Press ", release ", press <space>, release<space> : Devrait imprimer"
  • Press ", release ", press ", release" : Devrait imprimer""

Je comprends que ce comportement est défini par une disposition de clavier, j'ai donc fait quelques recherches.

Sur la disposition du clavier "Anglais - États-Unis avec des touches mortes", j'obtiens les 2 premiers comportements que je préfère, mais le dernier comportement n'est pas respecté, et j'obtiens le caractère étrange ¨quand j'essaye.

Sur la disposition du clavier "Anglais - US avec touches mortes AltGr", je n'obtiens que le dernier comportement, mais la touche ne se comporte plus comme morte.

Comment puis-je modifier la disposition du clavier pour remplir les 3 comportements que j'attends lorsque j'utilise un clavier?


Cette question serait beaucoup mieux avec une certaine motivation.
Joshua

Je crois que sa motivation est d'éviter les doubles guillemets incompatibles dans les littéraux de chaîne. Semble un peu exagéré pour y parvenir en modifiant le comportement général du clavier - cela devrait être géré par l'IDE utilisé à quelque fin que ce soit.
teukkam

2
@Joshua Dans mon pays, les gens ont grandi avec des cours d'informatique sur Windows, et ces comportements clés morts sont ceux par défaut sur Windows dans mon pays. Il est vraiment difficile de changer une habitude que vous avez apprise il y a 20 ans lorsque vous utilisez Ubuntu et Windows en même temps. Sous Windows, la disposition du clavier avec ce comportement est appelée "Anglais
États

Réponses:


12

Après avoir essayé différentes manières de résoudre ce problème, j'ai finalement trouvé une solution avec de l' aide dans le chat pour ce problème

La cause première du problème est en fait causée par le fait que Linux n'a pas un dead_apostropheet un dead_quotedblpar défaut, donc la "disposition de clavier us dead" par défaut a mappé une dead_acuteou une clé non morte mappée ".

Cela signifie que ce problème ne peut pas être résolu en créant votre propre disposition de clavier personnalisée, comme cela m'a été suggéré dans le chat.

Après de nouvelles recherches et le moment est venu d'apprendre de nouveaux mots clés à rechercher, j'ai trouvé cette solution sur Unix et Linux StackExchange , ce qui m'a aidé à résoudre le problème.

J'ai suivi les étapes suivantes répertoriées dans cette réponse:

  1. sudo apt install uim
  2. echo 'export GTK_IM_MODULE="uim"' >> ~/.profile
  3. echo 'export QT_IM_MODULE="uim"' >> ~/.profile
  4. curl 'https://gist.githubusercontent.com/guiambros/b773ee85746e06454596/raw/0ea6d7f7cf9a6ff38b4cafde24dd43852e46d5e3/.XCompose' > ~/.XCompose
  5. Configurer ma disposition de clavier sur "Anglais (US - intl avec touches mortes)"
  6. Ubuntu redémarré (selon les commentaires, la déconnexion et la connexion suffisent)

Après ces étapes, j'ai réussi à répondre aux attentes suivantes que j'avais sur mon clavier:

  • Appuyez ", relâchez" : vous devez vous souvenir de la clé comme d'une clé morte
  • Press ", release ", press <space>, release<space> : Devrait imprimer"
  • Press ", release ", press ", release" : Devrait imprimer""

4
Pour vous déconnecter de la session et vous reconnecter, il suffit que les modifications de la configuration utilisateur prennent effet. Pas besoin de redémarrer.
David Foerster
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.