GTK中一个操作的多个快捷方式

时间:2012-04-16 22:32:43

标签: gtk action shortcut vala

将多个键盘快捷键绑定到GTK + 3中的一个动作的最佳方法是什么?

我几天来一直在寻找这个问题的答案,并且一无所获。函数gtk_accelerator_parse不支持使用逗号分隔的快捷方式。将多个<accelerator>标记放在具有相同.ui属性和不同action属性的key文件中也不起作用。

我不想编写自定义按键处理程序,因此我可以为一个操作设置两个快捷方式,但这是否真的是唯一的方法?

2 个答案:

答案 0 :(得分:2)

自 GTK 3.12 版(于 2014 年 3 月 25 日发布)以来,有一种名为 gtk_application_set_accels_for_action() 的新方法应该会有所帮助。

答案 1 :(得分:1)

我找到了一种方法,但它真的很糟糕。使用gtk_accel_group_connect我可以为我自己的功能添加额外的加速器,然后可以根据按下的键和任何修改器触发所需的操作。然而,这感觉就像一个黑客,因为我基本上创建自己的加速器到行动地图而不是使用GTK。

如果有人知道的话,我想知道更好的方法。