2012-04-16 2 views
7

Was ist der beste Weg, mehrere Tastaturkürzel an eine Aktion in GTK + 3 zu binden?Mehrere Tastenkürzel für eine Aktion in GTK

Ich habe seit ein paar Tagen nach einer Antwort gesucht und habe mit nichts gerechnet. Die Funktion gtk_accelerator_parse unterstützt keine durch Kommas begrenzten Abkürzungen. Putting mehrere <accelerator> Tags in einer .ui Datei mit dem gleichen action Attribut und anderen key Attribute funktioniert auch nicht.

Ich möchte nicht eine benutzerdefinierte Taste drücken müssen Handler nur so kann ich zwei Verknüpfungen für eine Aktion haben, aber ist das wirklich der einzige Weg?

Antwort

1

Ich habe einen Weg gefunden, aber es ist wirklich schrecklich. Unter Verwendung von gtk_accel_group_connect kann ich zusätzliche Akzeleratoren für meine eigenen Funktionen hinzufügen, die dann die gewünschte Aktion basierend auf der gedrückten Taste und beliebigen Modifikatoren auslösen können. Dies fühlt sich jedoch wie ein Hack an, da ich im Grunde meine eigene Accelerator-to-Action-Map erstelle, anstatt GTKs zu verwenden.

Ich möchte einen besseren Weg kennen, wenn jemand von einem weiß.

Verwandte Themen