
Ich habe ein sehr spezielles Problem, aber jede Hilfe hilft mir, die Beziehung von X zur Tastatur zu verstehen.
Ich möchte das ElectricSheep-Programm über der Musikwiedergabe von XBMC starten können. Ich habe das Startskript bereits eingerichtet und kann ElectricSheep problemlos starten.
Das Problem tritt auf, wenn ich versuche, es zu schließen. Wenn ich ElectricSheep starte, ohne dass XBMC läuft, wird es durch Drücken von Escape geschlossen. Wenn XBMC läuft (oder selbst wenn ich eine Zeile in das Skript einfüge, um XBMC vor dem Start zu beenden), erfasst es alle Tastatureingaben, sodass ich ElectricSheep nur verlassen kann, indem ich es entweder über eine SSH-Sitzung beende oder X selbst beende.
Wenn ich xev ausführe, während XBMC läuft, empfängt es keine Eingabe.
Gibt es eine Möglichkeit, eine Anwendung zu starten und ihr explizit die X-Tastatur zuzuweisen? Danke für jede Hilfe!
Antwort1
Hängt davon ab, welche Anwendung den „Fokus“ hat. Ich bevorzuge „Fokus folgt Maus“, sodass meine Tastatureingaben in dem Fenster registriert werden, über dem sich meine Maus befindet. Andere Modi sind „Klicken zum Fokussieren“ und einige Variationen von „Fokus unter Maus“. Microsoft Windows ist „Klicken zum Fokussieren“ (als Beispiel), aber wenn Sie mit einigen der Tweakui-Tools herumspielen, können Sie „Fokus folgt Maus“ erreichen, wenn Sie möchten.
Ich bin nicht sicher, in welchem Modus sich Ihr X-Windows-Desktop anfangs befindet. Ich DENKE, dass er standardmäßig auf „Klicken zum Fokussieren“ eingestellt ist. Sie müssten Ihren Modus überprüfen. Meine Einstellung für den Mausfokus befindet sich unter „Fensterverhalten“ in den Systemeinstellungen (KDE 4.7.4).
Ich gebe zu, dass ich nicht viel Erfahrung mit Electric Sheep (Bildschirmschoner zum Träumen, richtig?) und XMBC (Media Center, wenn ich mich recht entsinne) habe. Beide scheinen Vollbild-Apps zu sein, was aufgrund des Fokusverlusts Probleme bereiten könnte. Klingt fast wie ein Problem mit ES, denn wenn es im Vordergrund ist (und als Bildschirmschoner übernommen hat...), SOLLTE es alle Tastenanschläge erfassen und als Abbruchsignal zum Beenden verwenden, sodass Ihr Bildschirm wieder zu allem anderen angezeigt wird, was gerade läuft.
Sie können mit ALT-TAB zwischen den verschiedenen laufenden Apps wechseln, wodurch der Fokus zwischen ihnen wechseln sollte. Dies hängt im Wesentlichen davon ab, wie XMBC und ES verwendet werden, ob im Fenster- oder Vollbildmodus.
Sie KÖNNEN den Fokus natürlich auch befehlszeilenmäßig mit mehreren Programmen steuern. Ich habe nichts gefunden ... ich habe meine /bin-Verzeichnisse und meine Notizen durchsucht, um sie zu finden. Ich habe vor ein paar Monaten für ein Projekt meine eigenen Steuerprogramme geschrieben, um zu sehen, was ich programmgesteuert tun kann, um Fenster und Fokus zu steuern ...
ah, hier ist eines:
wmctrl, laut Manpage können Sie mit der Option „-R“ ein Fenster öffnen …
Es gibt noch ein anderes, das ich nützlicher fand, obwohl ich heute überhaupt nicht weiß, wie ich es benennen soll. Vielleicht weiß jemand, worauf ich anspiele, und postet es. Ich werde aber weitersuchen, offensichtlich schlägt mein Blond heute richtig zu.
Antwort2
Als Hack ist es vielleicht möglich, die "gierige" App inXephyroderXvncoder so und entkoppeln Sie es gewissermaßen von Ihrem eigentlichen X-Server. Verwenden Sie es per Remote.
Eine richtigere Antwort wäre möglicherweise, den Code neu zu konfigurieren oder zu korrigieren, sodass die „gierige“ App dies nicht tut.
Oder, wenn die App wirklich den Bildschirm übernehmen soll, finden Sie eine Möglichkeit, ES als eine Art Plug-In auszuführen.