禁用鼠标多点击并更改双击间隔

时间:2015-10-19 11:38:27

标签: sdl-2

有没有办法禁用多重击打?多点击是指3次或更多次点击。我想只有singleClick或doubleClick。第三次单击应始终注册为singleClick(clicks = 1)。 event.mouse.clicks应始终为< = 2。

另一个问题是点击之间的间隔。如果我在1-2秒之间在同一点上多次单击,它总是被注册为multiClick(event.mouse.clicks不断上升)。只有当我稍微移动光标时,点击才会爱到1.如何更改此行为以使click和doubleClick之间的间隔大约为1/4秒?

1 个答案:

答案 0 :(得分:0)

解决方案是让一个单独的线程读取SDL信息,然后执行去抖动算法以消除不需要的点击。我这样做的触摸屏太灵敏了。过滤后,你应该得到你想要的。然后将您放入队列中的过滤事件(std :: deque)用于真实用户界面以获取事件。

开源项目https://sourceforge.net/p/sdl2ui/wiki/Home/有一个类CdialogEvent,可能就是你需要的。