So binden Sie globale HotKeys an ein WINE-Programm unter Linux

So binden Sie globale HotKeys an ein WINE-Programm unter Linux

How Bind Global Hotkeys Wine Program Under Linux

Windows öffnet die Eingabeaufforderung hier

Haben Sie schon einmal ein Windows-Programm unter Linux unter WINE installiert, nur um festzustellen, dass es keine systemweiten Hotkeys mehr bindet? HTG hat die Arbeit, nach der Sie gesucht haben.



Bild von djeucalyptus

Überblick

Jeder, der auch nur an den Gedanken gekommen ist, auf Linux umzusteigen, ist wahrscheinlich sehr schnell auf das Problem gestoßen, dass es diese eine Windows-App gibt, die man zum Funktionieren MUSS. Das haben wir dir schon gezeigt Sie können dies mit WINE erreichen .

Für diesen Autor war die Bewerbung a Text zu Sprache Anwendung, die die Microsoft SAPI4-Engine verwendet. Die Installation des Programms unter WINE war ein Kinderspiel, aber nach Abschluss habe ich schnell festgestellt, dass die Hotkeys zum Auslösen der verschiedenen Aktionen des Programms (Lesen starten, Lesen stoppen usw.) nicht funktionierten und dass dies bekannt ist Problem mit WEIN.

Ich freue mich, Ihnen mitteilen zu können, dass ich nach jahrzehntelanger Suche endlich die Lösung in Form eines GNU-Dienstprogramms gefunden habe, das die X.org-Schnittstelle mit nativen Funktionen manipulieren kann. Obwohl es nicht das einzige seiner Art ist, xdotool ist diejenige, die am einfachsten zum Laufen gebracht wurde und bereits in den Ubuntu/Mint-Repositorys enthalten war.

xdotool

Das xdotool-Programm kann viele fensterbezogene Aufgaben aus dem CLI , wobei die einzigen beiden, die wir verwenden werden, Suche und Schlüssel sind. Die Suchfunktion macht genau das, sucht nach einer/einer Fenster-ID gemäß den Parametern, die Sie dafür eingestellt haben. Mit der Tastenfunktion können Sie einen Tastendruck auf eine Fenster-ID simulieren.

Installation & Konfiguration

Es wird davon ausgegangen, dass Sie bereits installierter WEIN und das benötigte Programm darunter. In diesem Beispiel verwenden wir Balabolka als Windows-Anwendung, da es sich um eine gute Freeware-Replik des Originalprogramms handelt, für das ich diese Lösung benötigt habe (2. Sprachzentrum).

Anzeige

Wenn Sie sich auch für Balabolka entschieden haben, müssen Sie die Hotkey-Fähigkeit aktivieren.
Hinweis: Möglicherweise möchten Sie auch im Demo-Modus entweder TTSReader oder 2nd Speech Center installieren, damit die SAPI-Stimmen installiert werden.

Öffnen Sie das Programm und gehen Sie zu Einstellungen (Umschalt+F6) unter Optionen -> Einstellungen.

Gehen Sie zur Registerkarte Hotkeys und aktivieren Sie das Kontrollkästchen für Globale Hotkeys verwenden.

OK klicken.

Lassen Sie es im Hintergrund laufen, damit es seine Arbeit erledigen kann, wenn wir die Tastenanschläge daran anschließen.

Installieren Sie xdotool, indem Sie Folgendes ausgeben:

sudo apt-get install xdotool

Globale Bindung

Das xdotool-Programm allein hilft uns nicht dabei, global an Hotkeys zu binden, aber wir können das bereits vorhandene OS-Hotkey-System verwenden. Was wir tun werden, ist ein einfaches Skript zu erstellen, das xdotool verwendet, um die gewünschten Tastenanschläge an das Balabolka-Programm zu senden und es über das Hotkey-System des Betriebssystems aufzurufen.

Ein ... kreieren Skript aufgerufen start_read.sh mit folgendem Inhalt:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F9'

Ein anderes erstellen Skript diesmal stop_read.sh mit folgendem Inhalt:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F7'

Hinweis: Ich weiß, dass dies ein Einzeiler ist, der kein Skript erfordert, aber das Programm Mint / Ubuntu Keyboard Shortcuts hat nicht mit dem direkten Aufrufen kooperiert. Wenn Sie wissen, wie es geht, teilen Sie es bitte in den Kommentaren unten mit.

Anzeige

Wenn wir diesen Befehl auf seine Komponenten aufteilen, sehen wir:

  • Der Teil –pid $( pgrep balabolka ) führt a . aus pgrep auf dem Programm, das wir verwenden möchten, um seine Prozess-ID zu ermitteln. Dadurch wird das Xdotool-Suchfeld auf genau das eingeschränkt PID .
  • Die xdotool-Suche –limit 1 –all … –name Balabolka part, grenzt das Suchfeld von xdotool noch weiter ein und begrenzt die zurückgegebenen Antworten auf 1. Da es in unserem Fall keine Rolle spielt, welche der Fenster-IDs des Programms zurückgegeben werden, Die Begrenzung des Ergebnisses dient als Formatierer für den Tastaturkurzbefehl. Möglicherweise müssen Sie diesen Teil mehr massieren, wenn dies für das von Ihnen verwendete Programm von Bedeutung ist.
  • Die xdotool-Taste –window %WINDOW_ID% ctrl+alt+F7″ sendet den gewünschten Tastendruck an die WindowID, die von den vorherigen Teilen erhalten wurde.

Machen Sie die Skripte ausführbar .

Linux Mint-Tastatur Verknüpfungen

Unter Linux Mint , werden die globalen Hotkeys im Programm Tastaturkürzel festgelegt.

Klicken Sie nach dem Öffnen auf Hinzufügen, um eine neue benutzerdefinierte Verknüpfung zu erstellen:

Geben Sie ihm einen Namen und geben Sie unter Befehl das ein vollständigen Pfad zu einem der Skripte, die wir oben erstellt haben. Wiederholen Sie den Vorgang für das zweite Skript.

Klicken Sie nun in der Spalte Shortcuts auf das Wort Deaktiviert, um die Option zum Festlegen einer neuen Tastenkombination zu erhalten.
Hinweis: Sie können, wenn Sie möchten, etwas anderes als die Standardeinstellungen des Programms verwenden. In gewisser Weise erstellen Sie eine Neuzuordnung von Tastenkombinationen, die je nach verwendetem Programm ansonsten außerhalb Ihrer Kontrolle liegen würden.

Treffen Sie die ausgewählte Kombination und hören Sie die Magie.

Ubuntu-Tastatur

Unter Ubuntu heißt das Programm, das die globalen Hotkeys setzt, einfach Keyboard.

Wechseln Sie zur Registerkarte Verknüpfungen und wählen Sie Benutzerdefinierte Verknüpfungen.

Anzeige

Klicken Sie auf das Pluszeichen, um eine Verknüpfung hinzuzufügen. Geben Sie ihm einen Namen und geben Sie unter Befehl das ein vollständigen Pfad zu einem der Skripte, die wir oben erstellt haben. Wiederholen Sie den Vorgang für das zweite Skript.
Klicken Sie nun auf das Wort Deaktiviert, um die Option zum Festlegen einer neuen Tastenkombination zu erhalten.

Hinweis: Wenn Sie die Notiz aus dem Mint-Bereich wiederholen, können Sie, wenn Sie möchten, etwas anderes als die Standardeinstellung des Programms verwenden. In gewisser Weise erstellen Sie eine Neuzuordnung von Tastenkombinationen, die je nach verwendetem Programm ansonsten außerhalb Ihrer Kontrolle liegen würden.

Anmerkungen des Autors

Jedes Mal, wenn ich ernsthaft darüber nachgedacht habe, auf Linux umzusteigen, war dieses Problem das erste auf meiner Liste der Probleme. Es ist nicht das Linux hat keine Probleme , aber das war für mich die eigentliche Hürde. Ich habe es immer wieder versucht, Freunde/Leute im Feld gefragt und sogar ein Kopfgeld daraus gemacht… Ich bin froh, dass diese Saga vorbei ist und dass mein die Seele kann endlich ruhen .
Ich hoffe, dass ich jemandem da draußen geholfen habe, nicht die gleiche Tortur durchmachen zu müssen.


Doc Brown : Ich habe fast dreißig Jahre und mein gesamtes Familienvermögen gebraucht, um die Vision von damals zu verwirklichen. Mein Gott, ist das schon so lange her?

Was ist die Router-IP-Adresse?
WEITER LESEN
  • & rsaquo; Cyber ​​Monday 2021: Die besten Tech-Deals
  • › Funktionen vs. Formeln in Microsoft Excel: Was ist der Unterschied?
  • › 5 Websites, die jeder Linux-Benutzer mit einem Lesezeichen versehen sollte
  • › So finden Sie Ihr Spotify Wrapped 2021
  • › Der Computerordner ist 40: Wie Xerox Star den Desktop erstellte
  • › Was ist MIL-SPEC Fallschutz?