Wie finde ich * warum * kann ich keine Tastenkombination binden (oder welche App hat es genommen)?

14

Kurz gesagt: Gibt es (unter Unity) eine Möglichkeit, herauszufinden, welche Anwendung eine globale Verknüpfung erstellt hat? Ich frage nicht nach "Standardverknüpfungen", sondern nach einer Möglichkeit, Informationen über aktuelle Verknüpfungen zu erhalten (die App behält den aktuell in meiner aktuellen Konfiguration angegebenen Schlüssel bei).

Längere Geschichte:

Ich habe wiederholbare Probleme mit der Verwaltung von Tastaturkürzeln. Im Augenblick:

  • Synapse manchmal (*) kann Win-Space nicht binden, da es sich um eine Aktivierungsverknüpfung handelt, die die Meldung "Hotkey 'Aktivieren' mit Signatur 'Leerzeichen' konnte nicht registriert werden" (was normalerweise bedeutet, dass diese Verknüpfung bereits verwendet wird)

    (*) Nach einem Login funktioniert es, nach einem anderen Login nicht. Ich vermute ein Rennen zwischen zwei Apps ...

  • F9 macht meinen Bildschirm aus irgendeinem Grund etwas dunkler (und F9 erreicht keine Verknüpfungen auf Anwendungsebene, so dass zum Beispiel mein Byobu-Menü nicht funktioniert)

Ich habe versucht, an verschiedenen Orten zu suchen, und:

  • Ich nicht eine dieser Verknüpfungen in Tastatureinstellungen sehen / Shortcuts

  • Ich kann sie im gconf-editor nicht finden (ich habe versucht, nach F9 in bestimmten Werten zu suchen, nichts gefunden)

  • Ich konnte sie im dconf-editor nicht finden (es gibt keine Suche, also habe ich auf die naheliegendsten Pfade geklickt)

Meine Frage lautet also: Gibt es eine Möglichkeit, Unity / dconf / gconf / d-bus / nach der aktuellen globalen Hotkey-Zuweisung zu fragen (welcher Prozess behält welchen Schlüssel bei)? Oder erzwingen Sie die Protokollierung dieser Zuordnungen in einer Protokolldatei. Oder sie von irgendwo her greifen. Oder………

Mekk
quelle
Könnten Sie (zum Zweck dieser Frage) klarstellen oder definieren, was unter globaler Verknüpfung zu verstehen ist ?
Die Taste, die ich drücke und die dazu führt, dass etwas passiert, das nichts mit dem momentan aktiven Fenster zu tun hat. Zum Beispiel öffnet die globale Verknüpfung Win-S die Expo-Ansicht, die globale Verknüpfung Alt-Tab wechselt zwischen Fenstern, F12 (in meinem Setup) öffnet ein Dropdown-Terminal usw. usw. Und wie gesagt, wenn ich F9 drücke, wird der Bildschirm abgeblendet und angezeigt Ich habe keine Ahnung, welche App das macht und warum. Und manchmal greift etwas nach Win-Space. Und in der Vergangenheit habe ich zufällig gesehen, dass F12 von Tilda weggenommen wurde (zum Glück ist dieses Problem weg). Ich wäre also froh, wenn ich diese Tastaturbelegungen untersuchen könnte.
Mekk
Ich denke, F9 könnte das Widgets-Overlay aktivieren, aber es ist schon lange her, seit ich bei Unity war. Vielleicht in CCSM suchen ..?
Rasmus
Blick auf askubuntu.com/questions/101226/... oder wiki.ubuntu.com/Keybindings oder superuser.com/questions/152367/... - Es sind beschrieben mehrere Standorte zB in dconf oder gconf wo Unity seine Verknüpfungen speichert. Vielleicht möchten Sie auf diesen Seiten nach neuen Informationen suchen?
Byte Commander

Antworten:

2

Zwischen 12.10 und 17.04 ist der Ubuntu-Desktop eigentlich Compiz und Unity selbst ist nur ein Compiz-Plugin.

Wenn Sie stattdessen das Compiz-Plug-In "Befehle" festlegen und Tastenkombinationen mithilfe von CCSS festlegen, wenn ein Konflikt vorliegt, sollte CCSM Sie darüber informieren, welches Plug-In den Konflikt verursacht, und Optionen zum Deaktivieren des in Konflikt stehenden Plug-Ins oder der in Konflikt stehenden Tastenkombination bereitstellen bevor Sie Ihre Einstellungen übernehmen.

Persönlich hatte ich in 14.04+ auch Probleme beim Festlegen von Tastaturkürzeln, aber seit ich mich entschlossen habe, das CCSM-Plugin anstelle der Tastaturkürzeleinstellungen in Unity zu verwenden, sind keinerlei Probleme aufgetreten, und alle meine Tastaturkürzel funktionieren einwandfrei Es wird dringend empfohlen, dies zumindest als Option zu prüfen.

mchid
quelle
1

Jetzt verstehe ich, was Sie brauchen ...

sudo apt-get install evtest

Viel Spaß beim Entschlüsseln von Ubuntu USB HID-Events!

Warnung Das funktioniert nicht auf PS2 / Style-Tastaturen ... (aber wer nutzt da schon mehr?) :-)

Fabby
quelle
Mein Problem nicht vollständig gelöst, aber sicherlich nützlich. Trotzdem bin ich neugierig, wo diese aktiven Bindungen tatsächlich aufbewahrt werden und ob sie nachprüfbar sind (gsettings sind Orte, an denen sie von vielen Apps gelesen werden, aber nicht jede App muss gsettings verwenden ...)
Mekk
Wenn Sie mir die Ausgabe des obigen Befehls geben, kann ich Ihnen helfen ... Wenn Sie wissen wollen, warum , rate ich Ihnen zu lesen: wiki.archlinux.org/index.php/Extra_keyboard_keys und dann werden Sie es zu schätzen wissen, dass es funktioniert überhaupt!!! ;-)
Fabby
Dieser Artikel ist nicht ganz das, wonach ich frage - ich frage nicht, wie Tasten von physischen Tastendrücken zu Symbolen übersetzt werden (obwohl dies auch interessant und manchmal verwirrend ist). Ich frage einfach: Welches Programm speichert und wendet globale Tastaturkürzel an und ob es irgendeine Art von Util oder API gibt, mit der ich diese Zuordnungen nachvollziehen oder verfolgen kann.
Mekk
(wenn ich Unity starte, registriert es Alt-F2, Alt-F4, Win-S usw. usw. wenn ich Synapse starte, registriert es Win-Space, wenn ich Yakuake starte, registriert es F12 usw. usw. - zwei letztere gemäß meiner Konfiguration - aber An welcher Stelle registrieren sie diese Schlüssel und wie gelangen sie zu diesem Ort?)
Mekk
Oooh ... Jetzt verstehe ich ... Es gibt etwas namens, evtestaber das macht nur USB-Zeug! Auf der anderen Seite ist dies genau das, was Sie brauchen, wenn Sie einen Laptop oder einen Desktop ohne PS / 2-Tastatur verwenden!
Fabby
1

Aus einer meiner älteren Antworten :

Zuerst müssen Sie installieren xdotool:

sudo apt-get install xdotool

Ich habe mir eine Reihe von Befehlen ausgedacht, um uns die passiven Zupacken per Tastendruck zu zeigen. Um zum Beispiel zu sehen, was die Shift + PrintScreen-Kombination erfasst, können Sie das folgende "Skript" verwenden:

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Dies löst Shift + PrtSc keyevent aus und bei einer Ubuntu-Standardinstallation wird der Gnome-Settings-Daemon angezeigt, der die Tastatur greift. Zumindest funktionierte dies auf meiner älteren 12.04-Installation, aber auf einer 14.04-Installation sah es so aus, als müsste ich Folgendes verwenden:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

aber

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

funktioniert immer noch manchmal und nicht zu anderen Zeiten. Ich weiß nicht warum.

Sie müssen nur das obige "Skript" ändern, indem Sie die zu simulierenden Schlüssel ändern.

Falkner
quelle