web-dev-qa-db-fra.com

Comment faire en sorte que la double citation se comporte comme une clé morte, sauf si elle est utilisée en combinaison avec elle-même

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

  • Presse ", Libération ": La clé doit-elle être mémorisée
  • Presse ", Libération ", presse <space>, Libération <space>: Devrait imprimer "
  • Presse ", Libération ", presse ", Libération ": Devrait imprimer ""

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

Sur la configuration de clavier "Anglais - États-Unis avec touches mortes", j'obtiens les 2 principaux comportements que je préfère, mais le dernier comportement n'est pas rempli et j'obtiens le caractère étrange ¨ lorsque j'essaie.

Sur la configuration de clavier "Anglais - États-Unis avec les touches mortes AltGr", je n'ai que le dernier comportement, mais la touche n'est plus morte.

Comment puis-je modifier la disposition du clavier pour répondre aux 3 comportements attendus lorsque j'utilise un clavier?

14
Ferrybig

Après avoir essayé différentes façons de résoudre ce problème, j’ai finalement trouvé une solution avec aide sur le chat pour résoudre ce problème

La cause principale du problème est en fait due au fait que Linux ne possède pas de dead_apostrophe et de dead_quotedbl par défaut. Par conséquent, la "disposition de clavier us mort" par défaut a mappé un dead_acute ou une clé non morte mappée à ".

Cela signifiait que ce problème ne pouvait pas être résolu en créant votre propre disposition de clavier personnalisée, comme suggéré dans le chat.

Après des recherches plus poussées et l’apprentissage des nouveaux mots-clés à rechercher, j’ai trouvé cette solution sous Unix et Linux StackExchange , ce qui m’a aidé à résoudre le problème.

J'ai suivi les étapes suivantes énuméré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, se déconnecter et se connecter est suffisant)

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

  • Appuyez sur ", Libération ": Devrait se souvenir de la clé en tant que clé morte
  • Appuyez sur ", Libération ", presse <space>, Libération <space>: devrait imprimer "
  • Appuyez sur ", Libération ", presse ", Libération ": devrait imprimer ""
12
Ferrybig