Ich bin ein KDE-Benutzer und denke darüber nach, zu Unity zu wechseln. Aufgrund manueller Behinderung verwende ich Sticky-Keys und in KDE habe ich ein Applet im System-Panel, das anzeigt, welche Modifier-Keys aktiv sind. Ich erinnere mich, dass Gnome diese Funktion ebenfalls hatte, ebenso wie Windows und OS X.
Wie fügt man das Tastaturmodifikator-Status-Applet in das Bedienfeld von Unity ein?
Klarstellung: Ich habe Sticky Keys bereits aktiviert. Ich frage, wie man ein Applet hinzufügt, das den Status der Modifikatortasten anzeigt . Diese Anzeige würde anzeigen, wenn die Umschalttaste gedrückt ist, wenn die Alt-Taste gedrückt ist, wenn die Tux-Taste gedrückt ist und wenn die Strg-Taste gedrückt ist. Dieses Applet ist in allen gängigen Desktop-Umgebungen (KDE, Windows, Mac OSX und Gnome) verfügbar. Es ist für die Erreichbarkeit des Desktops erforderlich.
Hier ist ein Bild des Applets zum Ändern des Tastaturstatus neben dem Applet zur Anzeige des Tastaturlayouts. Die Modifikatoren vertreten sind, von links nach rechts, Shift
, Ctrl
, Alt
, I-dont-know-this-one
, Tux/Win
, NumLock
, und CapsLock
. Es ist zu sehen, dass die NumLock-Taste aktiv ist.
quelle
indicator-keylock
zeigt nur den Zustand dieser Tasten , die traditionell Zustandsanzeigen auf der Tastatur hat selbst:CapsLock
,ScrollLock
,NumLock
. Ich brauche einen Indikator, der den Zustand der Standard - Zusatztasten zeigt:Shift
,Ctrl
,Tux
,Alt
. Auf allen wichtigen Desktops (KDE, Windows, Mac OS X) ist dieses Indikator-Applet verfügbar.plasma-widget-kbstate
und eine schnelle Suche im Software-Center berücksichtigt in der Tat keine entsprechenden Ergebnissesudo apt-get install plasma-widget-kbstate
.Antworten:
Dies ist ein herausragendes Problem in Unity:
Der folgende Code wurde aktualisiert. Jetzt kann er mithilfe von Symbolen den Status anzeigen. Es kann jedoch langsam werden, da ich die Symboldatei auf der Festplatte aktualisieren und dann erneut laden muss. (Siehe Hinweise zu diesem Problem / Einschränkung in
libappindicator
)Eine gut verpackte Veröffentlichung wurde auf webupd8 ppa zur Verfügung gestellt (Dank geht an Alin Andrei / Andrew /)
Referenz: Tastaturmodifikatoren Statusanzeige Für Ubuntu: Xkbmod-Anzeige
Ursprüngliche Antwort:
Dies ist keine kanonische Antwort auf die Frage. Es könnte als Umgehungslösung gewertet werden. Hopping jemand schreibt raffinierte Lösung dafür.
Dies ist ein einfacher Prototyp eines Tastaturmodifikators für Unity.
Bild von links beginnend: Symbol, Umschalttaste, Feststelltaste, Strg, Alt, Super, Feststelltaste AltGr (kleiner Kreis, um den gesperrten Zustand anzuzeigen)
Quelldatei
unity-xkbmod.c
:Benötigte Header / Bibliotheken installieren: (Ich bin mir nicht sicher, ob ich welche vermisse)
Kompilieren:
Lauf:
Hinweis:
libappindicator
Für Unity-Indikatoren fehlt eine wichtige Funktion, mit der andere Desktop-Indikatoren problemlos portiert werden können. Siehe Bug # 812067 API benötigt: Unterstützung der Einstellung von Pixbuf-SymbolenAngenommen, wir benötigen ohne diese Funktion (Umschalt, Strg, Alt, AltGr, Super) Sticky-Keys. Wir haben jeweils 3 Hauptstatus (Aus, Ein / Gesperrt, Gesperrt). Es sollten also 3 ^ 5 kombinierte Icons generiert werden. (Wo im Normalfall nur 3x5 einzelne Icons)
Aus diesem Grund habe ich ein Indikatorlabel mit Symbolen aus der Schriftart DejaVu Sans verwendet .
Um ein Symbol zu platzieren, legen Sie es in denselben Ordner und benennen Sie es
icon.*
. Akzeptierte Formate: png, svg, ico, xpm ...Wenn Ihnen ein Symbol nicht gefällt, erstellen Sie stattdessen ein 1x1 px-Bild.
Verweise:
xkbwatch
&plasma-widget-kbstate
quelle
Eine andere Lösung, die nicht perfekt ist, aber einige vielleicht nützlich finden, da es möglich ist, die volle Funktionalität wie in KDE zu haben, wie das Aktivieren einer Mod mit einem Klick.
kbstate
Applet installierenFühren Sie es im
plasma-windowed
Player ausNormales Fenster
Randloses Fenster
Ich hatte nicht viel Zeit, um damit zu spielen, aber ich
wmctrl
könnte helfen, es beim Start zu positionieren, in der Größe zu ändern und ganz oben zu platzieren.Referenz: Welcher Befehl, um ein KDE-Plasmoid und das Kickstart-Menü zu starten
quelle
Ich habe nach Ubuntu Sticky Keys Monitor gesucht und etwas gefunden, das hier hilfreich sein könnte: http://code.google.com/p/key-mon/
Versuche zu rennen
key-mon --sticky
zur Unterstützung von Sticky Keys.Referenz: http://code.google.com/p/key-mon/
Beachten Sie, dass die im Software Center verfügbare Version 1.6-0ubuntu1 ist. Veröffentlicht im Juni 2011, der den --sticky-Schalter nicht unterstützt. Wenn die Anzeige der oben schaut man genau wie hat die ältere Version die neueste Version bei Versuchen http://code.google.com/p/key-mon/ zum Zeitpunkt des Schreibens es keymon_1.17-1_all.deb 229 KB ist freigegeben 3. Januar 2014. Unterstützung für --sticky switch getestet und bestätigt.
quelle
key-mon
zeigt jedoch , welche Taste gedrückt wurde und nicht den Status der Modifikatortasten . Der Unterschied besteht darin, dass daskey-mon
Display 1 Sekunde nach dem Drücken der Taste in den nicht gedrückten Zustand zurückkehrt . Ein Tastaturmodifikator-Status-Applet würde die Anzeige beim nächsten Tastendruck in den nicht gedrückten Zustand zurückversetzen und daher den gedrückten Zustand deaktivieren .--sticky
Option scheint den Status der Modifikatortasten zu erraten, indem sie den Status anderer Tasten überwacht, anstatt die richtige Benutzeroberfläche wie auch die richtigen Tastaturmodifikatorstatus-Applets abzufragen. Dies kann durch zweimaliges Drücken einer Modifikatortaste festgestellt werden: Beim ersten Mal wird der Indikator im Applet aktiviert, beim zweiten Mal wird er jedoch nicht freigegeben. Daher wird der Status fälschlicherweise als aktiv gemeldet, wenn dies nicht der Fall ist. Dieser verwandte Fehler behebt das Problem teilweise. Ich werde die Details dort und zusätzliche Fehler eintragen. Vielen Dank.