global hotkeys

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

hallo,

ich würde gerne ein prog mit global hotkeys schreiben, habe aber nur soweit ahnung, dass ich das mit dbus machen kann. mehr weiss ich leider nicht..

kann mir jemand ein beispiel geben, wie ich solche abfangen kann?

danke, ska.ndal
lunar

DBus hat mit globalen Tastaturkürzeln exakt gar nichts zu tun. Die Behandlung von Tastaturkürzeln hängt davon ab, in welcher Umgebung Du mit welchem Toolkit programmierst, diese Informationen solltest Du also noch geben.
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

ich will in gnome programmieren.

mit welchem tk weiß ich nicht. geht das nicht auch ohne (gemeint ist doch pyqt etc?)? also bloss als dienst?
lunar

Es geht auch ohne, wenn man direkt mit der Xlib programmieren möchte. Frag mich aber nicht, wie.
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

erinnerst du dich noch an:
http://forum.ubuntuusers.de/topic/globa ... ealisieren
(bin aber nich derselbe autor..)

ich nehm mal an du bist der gleiche, oder?

ich versteh nur leider das das ganze nicht ausreichend. könntest du mir vielleicht einfach nen beisp geben, das so einfach wie möglich ist und vor allem kommentiert ist? das wäre echt super...

danke
lunar

Ja, dieser Beitrag stammt auch von mir. Nur hat dieser Beitrag etwas ganz anders zum Thema. Er beschreibt nicht, wie man innerhalb eines Programms globale Tastaturkürzel implementiert, sondern wie man ein Programm so schreibt, dass es von außen ferngesteuert werden kann. Das kann man letztlich auch dazu verwenden, Programme über Tastenkürzel zu steuern, allerdings ist geschieht das dann außerhalb des Programms.

Erkläre doch einfach mal, was Du warum mit Tastenkürzeln steuern möchtest, dann kann ich Dir auch sagen, ob der beschriebene Ansatz zu Deinem Problem passt.
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

ja, das ist schon richtig. ich will GLOBALE hotkeys..

will, dass ein programm von aussen, oder wenn es sogar nur in der befehlszeile gestartet ist auch ansprechbar ist.

und nur aus neugier: wenn ich lokale HKs haben will, mach ich das über das TK?
lunar

Ich habe nicht gefragt, ob Du lokale oder globale Kürzel möchtest, sondern ob Du wirklich Tastenkürzel implementieren möchtest/musst, oder ob die Fernsteuerbarkeit reicht. In letzterem Fall musst Du aber Gnome separat so konfigurieren, dass es auf Tastendruck Dein Programm ansteuert.
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

?? du verwirrst mich.

ich will nen prog, das wenn es gestartet ist über nen bestimmten kürzel eine funktion ausführt. egal, ob es nun gerade versteckt oder was auch immer ist.

aber es soll nicht gestartet werden, falls es nicht gerade gestartet ist. ist das der unterschied zwischen dbus und dem andern?
lunar

Nochmal: DBus hat nichts, aber auch wirklich gar nichts mit Tastenkürzeln zu tun. DBus ist schlicht und einfach ein Mechanismus zur Kommunikation zwischen Prozessen. Man kann nun (z.B. über qdbus oder dbus-send) DBus-fähige Programme auch über die Kommandozeile steuern, und somit letztlich auch über Tastenkürzel. Allerdings bedarf es dazu eines zweiten Programms, welches permanent läuft, Tastenkürzel abfängt und anschließend entsprechende Aktionen ausführt, z.B. den Hotkey-Dienst der laufenden Desktop-Umgebung.

Die Alternative ist, dass das zu steuernde Programm Tastenkürzel selbst abfängt und behandelt. Dazu muss man allerdings XLib programmieren oder ein GUI-Toolkit verwenden, was aufwendiger ist.

Wenn Dir das jetzt immer noch nicht klar ist, dann lies Wikipedia und andere Dokumentation zum Thema DBus.
ska.ndal
User
Beiträge: 24
Registriert: Freitag 6. November 2009, 16:02

habs kapiert..

ich len mich mal ein bisschen in gui-schnick-schnack ein..

danke
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Ein nicht desktopspezifisches Tool für globale Hotkeys unter X11 ist übrigens xbindkeys.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten