【发布时间】:2021-03-05 13:14:10
【问题描述】:
我正在修改现有的 GTK3 应用程序,并希望全局处理“后退”和“前进”鼠标按钮(整数值分别为 8 和 9)。
我尝试将信号处理程序附加到窗口:
g_signal_connect(window, "button-press-event", G_CALLBACK(onButtonPress), NULL);
假设光标下方的小部件也不处理按钮按下(例如普通按钮的单击/按钮处理程序),这可以工作,在这种情况下,事件不会传播到窗口,因为它是由小部件处理的.
键事件在底层小部件之前首先发送到加速器,这是我想要的行为,但我使用的鼠标按钮似乎不被支持作为加速器或助记符。
如何以这种方式为鼠标按钮设置窗口级处理程序?
这是 GTK 事件处理和传播的参考:https://developer.gnome.org/gtk3/stable/chap-input-handling.html
【问题讨论】: