Ich bin es gewohnt, US International als Tastaturlayout zu verwenden. Die Implementierung scheint sich jedoch zwischen Windows und Linux stark zu unterscheiden (Gnome in meinem Fall - kann durchaus ein GTK-Problem sein, da sich GTK unter Windows gleich verhält).
Das Layout verwendet Tottasten, zB für Tasten wie ', ", ^, & c. Ermöglicht die einfache Eingabe von Zeichen mit diakritischen Zeichen. Unter Windows führt das Drücken einer toten Taste und einer Taste, der kein Paar zugeordnet ist, zum Zeichen der toten Taste (wenn sie mit einem Leerzeichen gepaart ist) und zum Zeichen der zweiten Taste. Beispiel: Drücken ", aergibt "ä", Drücken ', sergibt jedoch "'s", da es keine Paarung für 'und gibt s.
Jetzt gibt es eine Sprache namens Englisch, in der genau diese beiden Zeichen häufig verwendet werden. Da es unter Windows funktioniert, um sie wie gewohnt einzugeben, ist es jetzt ein Muskelgedächtnis für mich. Was mich zu meinem Problem bringt:
Unter Linux (und GTK unter Windows), es ist eine Paarung für 'und s(unter vielen anderen), was zu ś
(was wiederum zu mir führt häufig die Eingabe von „ITS“). So Eingabe von „es ist“ verlangt von mir zu geben ', , sam Ende.
Es gibt ein paar andere Kombinationen, an die ich gewöhnt bin und die nicht funktionieren. Dazu gehört, dass für nicht existierende Paare einfach nichts das Ergebnis ist. Wenn Sie "Ich würde" eingeben, erhalten Sie "Ich". Wenn Sie eine dieser Tasten zweimal drücken, wird ein diakritisches Zeichen ohne Abstand angezeigt, das meine Gewohnheit, Zeichenfolgen einzugeben, bricht, indem Sie zuerst beide Anführungszeichen eingeben (was jetzt zu einem akuten Akzent oder Makron ohne Abstand führt).
Lange Rede, kurzer Sinn: Keines der mitgelieferten Layouts von US International scheint so zu funktionieren wie unter Windows - gibt es welche, die identisch funktionieren? Oder eine Möglichkeit, es so zu konfigurieren? Während es schön sein mag, ein s mit akutem Akzent oder diakritischen Zeichen ohne Abstand zu tippen, sind diese Bedürfnisse für mich nicht gerade üblich.
Antworten:
Eine Möglichkeit besteht darin, tote Schlüssel zu vermeiden und Buchstaben mit Akzent stattdessen mit einem Verfassen-Schlüssel einzugeben. Geben Sie beispielsweise ein, Compose " aum einzugeben
ä
. Sie müssen eine Tastaturlayoutoption auswählen, die eine ComposeTaste enthält. Eine häufige Wahl ist der Schlüssel links vom rechten CtrlSchlüssel (den Windows meiner Meinung nach aufruft Menu). Der Vorteil von Composeist, dass Sie viele ausgefallene Zeichen eingeben können, ohne Ihr Hauptlayout zu ändern. Der Nachteil ist, dass für einen Akzentbuchstaben drei statt zwei Druckvorgänge erforderlich sind.Alternativ können Sie die Auswirkung von toten Schlüsseln konfigurieren, indem Sie eine Datei mit dem Namen
.XCompose
(Hinweis CApitalization) in Ihrem Home-Verzeichnis erstellen und die gewünschten Kombinationen auflisten. Etwas wie:Die Syntax ist ziemlich einfach: Die Tastenfolge links von
:
wird in die Zeichenfolge zwischen""
rechts von umgewandelt:
. Das zusätzliche Wort rechts ist das Keysym (dh der Name des Schlüssels), das dieser Tastenfolge entspricht. es ist nicht besonders wichtig. Alles von a#
bis zum Ende der Zeile wird ignoriert.Ändern Sie die erste Zeile so, dass sie auf die Systemdatei verweist, wenn Ihre Distribution sie an einer anderen Stelle ablegt. In dieser Datei finden Sie weitere Syntaxbeispiele.
<Multi_key>
ist ein anderer Name für den ComposeSchlüssel.Links sind die Namen zwischen
<
spitzen Klammern>
Schlüsselsymbole. Die Liste der Keysyms finden Sie in/usr/include/X11/keysymdef.h
(diese Datei befindet sich in einem Entwicklungspaket, z. B.x11proto-core-dev
unter Ubuntu).Ja, das ist viel Tippen, aber Sie sollten in der Lage sein, einen Großteil davon zu automatisieren, indem Sie Teile kopieren
keysymdef.h
und ein paar clevere Massenersetzungen durchführen. Etwas, das hilft, ist, dass Sie den hexadezimalen Code auf der rechten Seite wiederverwenden können, um die rechte Zeichenfolge zu erstellen, dank der Syntax "\ x dd ": turn egin
Schließlich können Sie ein Tastaturlayout mit toten Tasten und einer ComposeTaste einrichten . Als Deutscher könnten Sie sich nur "als toter Schlüssel einrichten . Wenn Sie diesen Weg gehen, ist es am einfachsten, über die GUI eine Tastatur ohne toten Schlüssel und eine
.Xmodmap
Datei für den toten Schlüssel einzurichten , die so etwas wie enthältquelle
<dead_acute> <s> : "'s"
GTK_IM_MODULE=xim
, dass die in definierten Erstellungssequenzen verwendet werden sollen~/.XCompose
, und nicht die in GTK integrierten Funktionen (!).Mir ist bewusst, dass diese Frage für eine Weile "gelöst" wurde. Ich möchte jedoch meine Lösung vorstellen, die die Ergebnisse dieser Seite mit vielen Tests und Experimenten kombiniert.
Win US Intl für Linux ist eine Reihe von Skripten, die ich geschrieben habe, um das Problem zu lösen, dass Probleme mit dem nativen US Intl-Tastaturlayout von Linux auftreten, so wie es das OP geschrieben hat. Ich benutze es hauptsächlich, weil meine Muttersprache Spanisch ist und ich immer noch viele englische Foren, Texte, Chats usw. benutze (wie diese Seite).
Zu beachten: Dies ist tatsächlich ähnlich (nicht völlig gleich) wie das Verhalten von Windows XP US - Internationales Tastaturlayout.
Sie können zu http://tamh.info/en/win-us-intl-4-linux/ gehen , um es zu überprüfen. Ich bin dabei, es zu verbessern, indem ich unter anderem weitere XCompose-Einträge für mehrere andere Grenzfälle hinzufüge.
quelle
Derzeit gibt es ein Github-Repo, das eine .deb-Datei bereitstellt, die dieses Problem löst:
Windows ™ US International XCompose für Linux
Es basiert auf einer angepassten .XCompose-Datei, wie andere Antworten vorgeschlagen haben.
quelle