Wie man das doppelte Anführungszeichen als toten Schlüssel verhält, außer wenn es in Kombination mit sich selbst verwendet wird

14

Wenn ich eine Tastatur verwende, erwarte ich die folgenden Verhaltensweisen (und ich verlasse mich auf diese Verhaltensweisen):

  • Drücken ", loslassen" : Sollte sich den Schlüssel als toten Schlüssel merken
  • Presse ", Veröffentlichung ", drücken <space>, loslassen<space> : Should Druck"
  • Presse ", Veröffentlichung ", drücken ", loslassen" : Should Druck""

Ich verstehe, dass dieses Verhalten durch ein Tastaturlayout definiert wird, daher habe ich einige Nachforschungen angestellt.

Bei der Tastaturbelegung "Englisch - USA mit toten Tasten" erhalte ich die Top-2-Verhaltensweisen, die ich bevorzuge, aber das letzte Verhalten ist nicht erfüllt, und ich erhalte den seltsamen Charakter, ¨wenn ich das versuche.

Bei der Tastaturbelegung "Englisch - USA mit AltGr toten Tasten" erhalte ich nur das letzte Verhalten, aber die Taste verhält sich nicht mehr tot.

Wie kann ich das Tastaturlayout ändern, um die drei Verhaltensweisen zu erfüllen, die ich bei Verwendung einer Tastatur erwarte?

Ferrybig
quelle
Diese Frage wäre mit einiger Motivation viel besser.
Joshua
Ich glaube, seine Motivation ist es, inkongruente Anführungszeichen in String-Literalen zu vermeiden. Scheint ein wenig übertrieben zu sein, um dies zu erreichen, indem das allgemeine Tastaturverhalten geändert wird - dies sollte von der IDE erledigt werden, die für den jeweiligen Zweck verwendet wird.
Teukkam
2
@Joshua In meinem Land sind die Leute mit Computerunterricht unter Windows aufgewachsen, und diese toten Schlüssel sind die Standardeinstellungen unter Windows in meinem Land. Es ist wirklich schwer, eine Gewohnheit zu ändern, die Sie vor 20 Jahren gelernt haben, als Sie Ubuntu und Windows gleichzeitig verwendeten. Unter Windows heißt das Tastaturlayout mit diesem Verhalten "Englisch - USA - International mit toten Tasten"
Ferrybig

Antworten:

12

Nachdem ich verschiedene Möglichkeiten für dieses Problem ausprobiert hatte, fand ich schließlich eine Lösung mit Hilfe im Chat für dieses Problem

Die Hauptursache für das Problem ist die Tatsache, dass Linux nicht standardmäßig ein dead_apostropheund ein dead_quotedblhat. In der Standardeinstellung "us dead keyboard layout" wurde also entweder ein dead_acuteoder ein nicht toter Schlüssel zugeordnet ".

Dies bedeutet, dass dieses Problem nicht behoben werden kann, indem Sie Ihr eigenes benutzerdefiniertes Tastaturlayout erstellen, wie im Chat vorgeschlagen.

Nach weiteren Recherchen und dem richtigen Erlernen neuer Suchbegriffe fand ich diese Lösung in Unix & Linux StackExchange , was mir bei der Lösung des Problems half.

Ich bin den folgenden Schritten gefolgt, die in dieser Antwort aufgeführt sind:

  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. Konfiguriere mein Tastaturlayout auf "Englisch (US - intl mit toten Tasten)"
  6. Ubuntu neu gestartet (laut Kommentaren reicht es aus, sich aus- und einzuloggen)

Nach diesen Schritten konnte ich die folgenden Erwartungen erfüllen, die ich an meine Tastatur hatte:

  • Drücken ", loslassen" : Sollte sich den Schlüssel als toten Schlüssel merken
  • Presse ", Veröffentlichung ", drücken <space>, loslassen<space> : Should Druck"
  • Presse ", Veröffentlichung ", drücken ", loslassen" : Should Druck""
Ferrybig
quelle
4
Das Abmelden von der Sitzung und das erneute Anmelden sollten ausreichen, damit Änderungen an der Benutzerkonfiguration wirksam werden. Kein Neustart erforderlich.
David Foerster