Gibt es Bibliotheken für Linux in C++ geschrieben, die globale Hotkeys für meine Anwendung registrieren könnten? Vielen Dank.Registrieren von Hotkeys in Linux mit Bibliothek für C++
Antwort
Sie müssen weitere Informationen bereitstellen.
In Gnome variiert die globale Funktionalität je nach Fenstermanager. Metacity verfügt über konfigurierbare globale Verknüpfungen, ebenso wie Compiz und Sawfish, und sie sind alle unterschiedlich konfiguriert. Xhotkeys kann auch für die gleiche Funktionalität verwendet werden. Diese sind jedoch alle auf das Starten von Anwendungen beschränkt.
Innerhalb des KDE-Anwendungsframeworks kann KAction globale Verknüpfungen registrieren, die Aktionen in Ihrem Programm ausführen. Diese werden tatsächlich von einem Modul in kded (bei Bedarf gestartet) behandelt, so dass sie auch außerhalb der KDE-Desktop-Umgebung funktionieren. Wenn Sie das KDE-Framework nicht verwenden, aber immer noch X11 verwenden, können Sie die xlib-API verwenden, um XGrabKey im Stammfenster aufzurufen.
Für Verknüpfungen, die außerhalb von X ausgeführt werden, können Sie direkt /dev/input/event*
öffnen und nach den gewünschten Schlüsselereignissen suchen, solange Sie als root (oder Berechtigungen werden permissiv geändert) auf einem 2.6-Kernel ausgeführt werden.
Ich schrieb eine einfache C-Bibliothek eine Weile zurück, um die Registrierung von globalen X11-Hotkeys etwas weniger schmerzhaft zu machen. Es gibt einige Beispiele mit dem Code. Sie können es abrufen:
- 1. Webcam-Bibliothek für C unter Linux?
- 2. Linux-Bibliothek für Mingw kompilieren
- 3. Beste c Audio-Bibliothek Linux
- 4. C/JSON-Bibliothek in beliebten Linux-Distributionen?
- 5. vim Tastenanschlag für Hotkeys?
- 6. UUID-Bibliothek für C?
- 7. Wo für C# -Ereignisse registrieren?
- 8. Subpixel-Bibliothek für Webcam in Linux
- 9. Hotkeys in Webapps
- 10. Wie werden globale Hotkeys in C# implementiert?
- 11. Hinzufügen eines F5 Hotkeys in C#
- 12. globale Hotkeys in Java
- 13. Programmierung von Ressourcen für C++ in Linux
- 14. Registrieren Sie Dateierweiterungen/MIME-Typen in Linux
- 15. VB.Net Versteckte Programm Hotkeys
- 16. Tastendruck für systemweite Hotkeys simulieren
- 17. Registrieren von Style Hook in C++
- 18. Namespace registrieren mit libxml ++ für XPath
- 19. WPF: Komponente interferiert mit Hotkeys
- 20. Registrieren von Handlern für .NET COM-Ereignis in C++
- 21. Seltsames Verhalten mit den Hotkeys in VC++
- 22. Resharper Hotkeys
- 23. Mature Standard-Bibliothek für C
- 24. C++ Bibliothek für XMLRPC
- 25. Globale Hotkeys in einer plattformübergreifenden Qt-Anwendung
- 26. Crash-Reporting in C für Linux
- 27. C-Bibliothek für Graphen
- 28. Instrumentation (Diagnose) -Bibliothek für C++
- 29. JSON-Bibliothek für C#
- 30. Crypto-Bibliothek für C++
xhklib verwendet, um die XGrabKey(), wird es focusout erzeugen, wissen Sie, jede Funktion ohne Erzeugung focusout? Sehen Sie sich http://stackoverflow.com/q/15270420/264181 an – diyism