An bestimmten Stellen können keine nicht-englischen Zeichen eingegeben werden

4

In bestimmten Textfeldern kann ich überhaupt keine nicht-englischen Zeichen eingeben (ich gebe ein Zeichen ein, nichts passiert). Beispiele sind:

  • Suchfeld für Unity Dash
  • Chrom-Adressleiste
  • Pidgin-Meldungsfeld
  • Gajim-Nachrichtenbox

An anderen Stellen (z. B. Terminal, Firefox-Adressleiste, Eingabefelder auf Websites usw.) funktioniert die Eingabe dieser Zeichen.

Bearbeiten:

$ locale
LANG=sr_RS.utf8@latin
LANGUAGE=sr_RS@latin:sr_RS:sr:en_US:en
LC_CTYPE="sr_RS.utf8@latin"
LC_NUMERIC=sr_RS
LC_TIME=sr_RS
LC_COLLATE="sr_RS.utf8@latin"
LC_MONETARY=sr_RS
LC_MESSAGES=sr_RS.UTF-8
LC_PAPER=sr_RS
LC_NAME=sr_RS
LC_ADDRESS=sr_RS
LC_TELEPHONE=sr_RS
LC_MEASUREMENT=sr_RS
LC_IDENTIFICATION=sr_RS
LC_ALL=

$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources current uint32 0
org.gnome.desktop.input-sources per-window false
org.gnome.desktop.input-sources show-all-sources false
org.gnome.desktop.input-sources sources [('xkb', 'us'), ('xkb', 'rs+latin'), ('xkb', 'rs')]
org.gnome.desktop.input-sources xkb-options @as []

$ setxkbmap -query -v
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)
geometry:   pc(pc105)
rules:      evdev
model:      pc105
layout:     us

Und wenn ich zu einem meiner Layouts außerhalb der USA wechsle, erhalte ich:

$ setxkbmap -query -v
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+rs(latin)+us:2+inet(evdev)
geometry:   pc(pc105)
rules:      evdev
model:      pc105
layout:     rs,us
variant:    latin,

env:

$ env | grep -i im
CLUTTER_IM_MODULE=xim
XMODIFIERS=@im=ibus
EDITOR=/usr/bin/vim
IM_CONFIG_PHASE=1
QT4_IM_MODULE=xim
TEXTDOMAIN=im-config
XDG_RUNTIME_DIR=/run/user/1000
GTK_IM_MODULE=xim
LC_TIME=sr_RS
Mladen Jablanović
quelle
Was ist dein Gebietsschema? locale
Tippen Sie
@LnxSlck: hat die Frage aktualisiert.
Mladen Jablanović
@ Snetsher: fertig
Mladen Jablanović
1
Versuchen Sie Folgendes: Systemeinstellungen> Sprachunterstützung> Registerkarte Sprache> Tastatureingabemethode System: iBus. Wenn Sie keine anderen Optionen ausprobiert haben, müssen Sie sich möglicherweise abmelden / anmelden, um die Einstellungen zu aktivieren.
user.dz
Gibt es hierzu Neuigkeiten?
RSZ

Antworten:

2

Ich habe bestätigt, dass ich dasselbe Problem in Unity und Chromium mit demselben Setup hatte, das Sie gerade anzeigen, es jedoch mit der folgenden Problemumgehung behoben habe.

Das Problem besteht darin, dass S1Unity auch dann reagiert , wenn die Menüleiste korrekt anzeigt, dass Sie das Layout beispielsweise auf Englisch umgestellt haben .

Das heißt, es wird nur eine englische Ausgabe erstellt, obwohl der Indikator dies anzeigt S1. Wenn Sie in Unity eine Taste drücken, wird nur die englische Taste angezeigt, oder es wird nichts angezeigt, wenn keine Taste der serbischen Combo entspricht, oder ein anderer Teil der Benutzeroberfläche wird ausgelöst, wenn die Combo diese auslöst. Andere Anwendungen verwenden jedoch beispielsweise geditdas in der Menüleiste angezeigte serbische Layout. Unity reagiert aber immer noch nur so, als wäre das Layout auf Englisch eingestellt. Darüber hinaus wird dies durch das Ändern der Schriftart nicht beeinflusst.

Es gibt zwei Probleme:

  1. Irgendwo ist ein Fehler.
  2. Diese Antwort bietet eine Problemumgehung für den Fehler.

Bitte beachten Sie auch, dass:

  1. Dies hat nichts mit Eingabemethoden zu tun. Das funktionierte mit der Standard - Eingabemethode Satz ibus, fcitxoder none.
  2. Dies ist auch nicht auf Einstellungen im Zusammenhang mit xkb-options, wie der Compose Keyoder den 3rd level chooser(bezeichnet als Alternative Characters Keyin Tastatur >> Tippen .

    (Sie haben keines dieser Sets; dieser Punkt dient nur der Vollständigkeit.)

Die Schlüsseleinstellung finden Sie in den Systemeinstellungen >> TextEntry .

Die Standardeinstellung ist Use the same source for all windows. Leider scheint die Standardeinstellung immer das Problem zu verursachen.

Die Problemumgehung besteht darin, dies zu ändern Allow different sources for each window.

TextEntry Einstellungsdialog mit 3 Tastaturen und verschiedenen Quellen

Die New windowsEinstellung funktioniert mit beiden Optionen, use the default choicescheint jedoch weniger schrullig zu sein und korrekter und konsistenter zu funktionieren.

Sie sollten sich nicht aus- und einloggen müssen, aber es tut nicht weh. Zu diesem Zeitpunkt funktioniert die Eingabe mit den serbischen Tastaturen sowohl in der Chromium- als auch in der Unity-Suche. Na ja, die meiste Zeit. Ich entdeckte, dass Unity manchmal noch etwas schrullig ist, aber das lässt sich auch leicht umgehen.

Mit New windows use the default sourcehaben die Dinge fast die ganze Zeit wie erwartet funktioniert:

Wenn Sie also Unity öffnen, wechselt die Quelle zu Englisch, und Sie verwenden Ctrl+ Space, um die Quelle zu wechseln. Jetzt ist die Quelle S1 (latin). Wenn Sie [ richtig štippen, funktionieren auch Schlüssel, die von einer Kombination abhängen, in Unity ordnungsgemäß. Zum Beispiel erzeugt Right-Alt+ .aæ

Das Problem ist, dass die Eingabequelle von Unity und die auf der Tastatur angezeigte Eingabequelle manchmal nicht synchron zu sein scheinen und das oben beschriebene Problem auftritt oder weiterhin auftritt.

Die Lösung für diese Eigenart besteht darin, durch die Eingabequellen zu blättern. Drücken Sie Ctrl+, Spacebis Sie zur gewünschten Quelle zurückkehren.

Dadurch werden die Eingangsquellen die meiste Zeit neu synchronisiert . Einige Male musste ich zweimal durchfahren. Ein anderes Mal musste ich die Quellen durchlaufen, Unity beenden und Unity neu starten.

Die gute Nachricht ist, dass die Quellen, sobald sie neu synchronisiert wurden, den Rest der Sitzung über korrekt zu bleiben scheinen.

Besser noch, wie oben erwähnt, new windows use default sourcescheint die Verwendung der Einstellung fast die ganze Zeit zu verhindern, dass die Eigenart auftritt.

Die Häufigkeit dieser Eigenart scheint zu sein:

  1. Unter der Standardeinstellung Use the same source for all windows: Immer. Es wird niemals funktionieren.
  2. Unter der Einstellung Allow different sources -- new use current source: Frequent. Ein Durchlaufen der Eingangsquellen und manchmal ein Beenden / Neustarten von Unity ist häufig erforderlich.
  3. Unter der Einstellung Allow different sources -- new use default source: Selten. Funktioniert die meiste Zeit wie vorgesehen. Durch die Eingangsquellen blättern und manchmal Unity beenden / neu starten, ab und zu erforderlich, aber nicht oft.

Ich konnte diesen Fehler im Launchpad nicht finden, daher möchten Sie möglicherweise einen neuen Fehler bei der Umschaltung der Eingangsquelle melden. (Ich bin mir nicht sicher, welches Paket genau gemeldet werden soll.) Es gibt ähnliche Fehler im Launchpad, aber alle, die ich gesehen habe, waren älter und nicht aktiv.

chaskes
quelle
Zunächst danke. Ich kann Ihre Lösung nicht sofort ausprobieren, da das Problem nur auf meinem Computer bei der Arbeit auftritt. Zu Hause habe ich zwei andere Maschinen mit der gleichen Ubuntu-Version und beide zeigen nicht das gleiche Buggy-Verhalten (!). Eine andere Sache (nicht sicher, ob wir uns verstanden haben): Das fehlerhafte Verhalten besteht nicht darin, dass der Indikator ein falsches Layout anzeigt, sondern darin, dass er ein korrektes Layout anzeigt (sagen wir serbisches Latein), sondern beispielsweise, wenn ich tippe š( [befindet sich in einem US-Layout) ) erscheint nichts. Weder werden šnoch [ausgegeben.
Mladen Jablanović
Danke für den Kommentar. Mein Wortlaut dieses Satzes war schlecht. Ich meinte die englische Taste oder nichts, wenn die serbische RALT-Combo keine entsprechende englische Taste hat. Ich werde es reparieren. Ich habe es nach deinem Problem getestet. Ich habe es nur mit šnoch versucht [und es funktioniert immer noch gut. Das ist die Sache mit den Käfern. Manchmal ist es schwer zu wissen, wann genau die richtigen Dinge zusammenkommen. Mein Computer hatte das gleiche Problem wie Ihr, bevor ich die Problemumgehung angewendet habe. Danach wird Serbisch in Unity korrekt eingegeben.
chaskes
1

Ich würde vorschlagen, dass das Problem darin besteht, dass die verwendeten Schriftarten an einigen Stellen nicht die erforderlichen nicht-lateinischen Zeichen enthalten. Stellen Sie sicher, dass die verwendeten Schriftarten auf dem gesamten Desktop und in den von Ihnen verwendeten Apps über eine Vielzahl von verdeckten Zeichen verfügen, z. B. die Liberationoder die DejaVuSchriftfamilie.

Landroni
quelle
Ich glaube nicht, dass Schriften etwas damit zu tun haben: Ich bin mir ziemlich sicher, dass ich die richtigen Schriften verwende (insbesondere Ubuntu und / oder Roboto), und selbst wenn ich das nicht tun würde, würde ich ein Ersatzzeichen (ein Quadrat) erwarten. würde dort erscheinen. In meinem Fall passiert einfach nichts.
Mladen Jablanović
Nicht immer. Experimentieren Sie mit anderen Schriftarten, um sicherzugehen.
Landroni
Dies wäre ziemlich einfach zu überprüfen. Sie können einfach kopieren und in Libreoffice einfügen und dann die Schriftarten ändern.
Sparhawk