问题描述
我知道当按下另一个键时,可以从keypress事件中获取ctl / alt键状态。但是,当单击鼠标按钮时,我找不到任何方法来检测键状态。是的,按下并释放ctl / alt键时会收到事件,并且只要窗口保持焦点,就可以跟踪它们是向上还是向下。但是,例如,如果用户单击桌面使我的窗口失去焦点,然后按下并按住ctl或alt键,然后单击我的窗口,则我的代码不会看到ctl按下事件,而且不知道它是怎么回事。
当鼠标单击或其他一些非键盘事件发生时,是否有办法检查这些修改键的状态?
解决方法
而不是试图使状态永久保持不变,而是在每次处理事件时都要检查修饰符。
示例:
https://developer.gnome.org/gtk3/stable/checklist-modifiers.html