So erfassen Sie Tastenanschläge in der Linux-Umgebung

So erfassen Sie Tastenanschläge in der Linux-Umgebung

Ich brauche einen C-Code, der ausgeführt wird, wenn in der Linux-Desktopumgebung bestimmte Tasten gedrückt werden.

Welche Möglichkeiten gibt es, sich für eine solche Veranstaltung anzumelden und wie?

Soll ich dafür ISR schreiben? Ich brauche einen genauen Teil von Linux, von dem ich diesen Aufruf bekommen kann.

Welcher Teil des Betriebssystems kümmert sich um solche Dinge? Ist es eine Desktop-Umgebung wie GNOME oder ein Teil eines Dienstes?

Antwort1

Ich würde versuchen, zu nutzenxbindkeysum einen Befehl/ein Skript auszuführen, wenn bestimmte Tasten gedrückt werden.

Zu Beginn können Sie xbindkeysdie Generierung einer Vorlagenkonfigurationsdatei wie folgt anweisen:

$ xbindkeys --defaults > /home/saml/.xbindkeysrc

Öffnen Sie dann die resultierende Konfigurationsdatei in einem beliebigen Editor und fügen Sie eine Zeile wie die folgende hinzu:

"nautilus --browser /home/saml/projects/path/to/some/dir"
 Mod4+shift + q

Beenden und starten Sie dann neu xbindkeys, damit die Änderungen in der Konfigurationsdatei neu geladen werden:

$ killall xbindkeys
$ xbindkeys

Wenn dies jetzt ausgeführt wird, wird Nautilus jedes Mal geöffnet, wenn ich Mod+ Shift+ eingebe Qund der entsprechende Ordner geöffnet wird.

Das Obige kann leicht geändert werden, sodass anstelle des Obigen jedes beliebige Skript oder jeder beliebige Befehl ausgeführt werden kann. Dies ist nur ein Beispiel, um den Ansatz zu veranschaulichen und Ihnen den Einstieg zu erleichtern.

Verweise

Antwort2

Ihre Desktopumgebung verfügt möglicherweise über ein Einstellungsprogramm zum Konfigurieren von Tastenkombinationen.

Gnome 3-Shell

Gehen Sie zu System Settings > Keyboard > Shortcutsund erstellen Sie eine LauncherVerknüpfung[1].

KDE

Gehe zu System Settings[2] > Shortcuts and Gestures > Global Shortcuts[3] und weisen Sie eine benutzerdefinierte Tastenkombination zu, oder

Weisen Sie Ihrem Anwendungsstarter eine KDE-Verknüpfung zu[4]. Um dies zu nutzen, benötigen Sie möglicherweise eine .desktop-Datei für Ihre Anwendung.

  1. Widgets entsperren.
  2. Klicken Sie im Launcher mit der rechten Maustaste und klicken Sie auf „Anwendungen bearbeiten …“
  3. Suchen Sie die App, der Sie eine Verknüpfung zuweisen möchten

Andere

Andernfalls können Sie verwenden xbindkeys. Arch Wiki hat einexbindkeysLernprogrammlesenswert.

[1]https://wiki.ubuntu.com/Keybindings
[2]http://docs.kde.org/stable/en/kde-workspace/systemsettings/using-kapp.html#starting
[3]http://docs.kde.org/stable/en/kde-workspace/systemsettings/general.html
[4]https://askubuntu.com/questions/90567/jede-App-in-KDE-mit-einer-Verknüpfung-schnell-starten

verwandte Informationen