Wenn das Sprachlayout von rechts nach links geändert wird; in einigen Standard - Bearbeitungsstellen (zB die Adressleiste von Google Chrome), Zeichen mögen <
, {
und [
automatisch werden >
, }
und ]
nur durch die Sprache das Layout zu ändern.
Gibt es eine Möglichkeit, dies zu verhindern und diese Zeichen stabil zu machen?
keyboard-layout
input-language
rtl
Nano - verschmelze mich
quelle
quelle
Antworten:
Ich habe zum ersten Mal nicht verstanden, was du meinst, weil ich mich damit vertraut gemacht habe. Ich denke, es wird in Ordnung sein, wenn Sie Ergebnisse erwarten können.
Dieses Verhalten ist ein Standard des bidirektionalen Unicode-Algorithmus . Die dominante BiDi-Richtung wird also vom ersten starken Charakter im Absatz übernommen.
Also, was ich denke, passiert es in diesem Fall:
Die erste Richtung mit leerem Textfeld wird aus der Gebietsschema- / Sprachkonfiguration übernommen. Wie Sie sagten, ist Arabisch eine RTL-Sprache. Also Cursor rechts.
Eingabe
<
aber es zeigte sich als>
. Es ist ein neutrales Zeichen, daher hat dies keinen Einfluss auf die Richtung. Warum wird es umgedreht? Kurze Antwort: Unicode-Standard, :) akzeptiere das trotzdem. Nun, sein Name ist Less-than-Zeichen , also ... In RTL / Arabisch sollte die Formel von rechts beginnen und umgedreht werden. Was denkst du ... nein? !!!Geben Sie ein lateinisches Zeichen ein
g
. Es ist ein starkes L- Zeichen (links), daher wird dieser Absatz als LTR erkannt.Rücktaste zum Löschen
g
. Beachten Sie jedoch, wo sich der Cursor befindet.Nun, zum Beispiel
[
, wurde es fälschlicherweise als linke eckige Klammer bezeichnet . Es sollte etwas wie eine offene eckige Klammer sein (es ist BiDi-neutral und in RTL umgedreht)Alle Entwickler versuchen, Standards zu folgen. Heutzutage erzwingen sie, dass das Textfeld RTL oder LTR ist. Auto ist für die meisten Benutzer das Beste.
Für Sie ist das Beste, was ich anbieten kann, die Verwendung von Unicode BiDi Control Chars.
In der leeren Adressleiste wird Ctrl+ Shift+ ein ukleiner unterstrichener
u
Wert angezeigt. Geben Sie200f
dann einEnterSiehe
<
nicht als LTR umgedreht.Ctrl+ Shift+ uIst GTK / Gnome spezifisch. KDE verpasst eine solche Option und sie scheint nicht behoben zu sein, da in diesem Fehlerbericht der Konflikt zwischen KDE / Qt / Xorg erwähnt wird. Sie müssen beliebige Unicode-Zeichen in Kubuntu einfügen .
Da es sich nur um wenige Zeichen handelt, können Sie nicht benötigte Schlüssel neu zuordnen oder nicht verwendete zuordnen. Zum Beispiel verwende ich US-Englisch (internationale AltGr-Totschlüssel)
Öffnen Sie die
xkb
Layoutdatei zur Bearbeitung:Suchen Sie nach der gleichnamigen Gruppendefinition:
Schauen wir uns als Beispiel an
r
(leicht zu merken): AltGr+ r→ RLM, Shift+ AltGr+ r→ LRM. Anstelle vonë
&Ë
. Ersetzen:Mit:
Aktualisiere xkb
Wechseln Sie zu einem anderen Layout und dann zurück, es wird sofort aktiv.
Anmerkungen:
Verwenden Sie dieselbe Methode, um sie dem arabischen Layout hinzuzufügen, wenn Sie sie in beiden Layouts verwenden möchten.
Sie können
U+061C arabic letter mark (ALM)
anstelle von RLM verwenden, da Sie ein arabischer Benutzer sind.xkb
unterstützt andere Unicode-Code-Eingabeformate,0x100200f
Gl.U200F
(dh0x100
als Präfix)Um ein Überschreiben der geänderten Schlüsselzuordnung durch
xkb-data
Aktualisierungen zu vermeiden , erstellen Sie am besten eine neue benutzerdefinierte XKB-Zuordnung. Siehe Hinzufügen eines neuen Tastaturlayouts (benutzerdefinierte Tastaturlayoutdefinition) oder Welche Schritte sind erforderlich, um unter Ubuntu ein neues Tastaturlayout zu erstellen?Es ist möglich, alle anderen Unicode-Steuerzeichen hinzuzufügen. Einige Anwendungen haben bereits eine Option im Popup-Menü des mehrzeiligen Eingabetextfelds. Beispiel Poedit:
Schön zu lesen zum weiteren Verständnis:
Verweise:
Informationen zur Eingabe von Unicode, die auf der Tastatur nicht verfügbar sind, finden Sie unter „Uni“ im ungarischen Layout kann nicht eingegeben werden
Howto: Benutzerdefinierte Tastaturlayoutdefinitionen
0x100
Präfix)quelle
0x100200F
stattdessen so etwas verwenden, ich weiß nicht, ob es dasselbe ist wieU200F
.