将多个键盘快捷键绑定到GTK + 3中的一个动作的最佳方法是什么?
我几天来一直在寻找这个问题的答案,并且一无所获。函数gtk_accelerator_parse
不支持使用逗号分隔的快捷方式。将多个<accelerator>
标记放在具有相同.ui
属性和不同action
属性的key
文件中也不起作用。
我不想编写自定义按键处理程序,因此我可以为一个操作设置两个快捷方式,但这是否真的是唯一的方法?
答案 0 :(得分:2)
自 GTK 3.12 版(于 2014 年 3 月 25 日发布)以来,有一种名为 gtk_application_set_accels_for_action()
的新方法应该会有所帮助。
答案 1 :(得分:1)
我找到了一种方法,但它真的很糟糕。使用gtk_accel_group_connect
我可以为我自己的功能添加额外的加速器,然后可以根据按下的键和任何修改器触发所需的操作。然而,这感觉就像一个黑客,因为我基本上创建自己的加速器到行动地图而不是使用GTK。
如果有人知道的话,我想知道更好的方法。