2015-10-19 122 views
0

有没有办法禁用多点击?通过multiclicks我的意思是3次或更多的点击。我想只有singleClick或doubleClick。第三次点击应始终注册为单击(单击= 1)。 event.mouse.clicks应始终为< = 2.禁用鼠标多点击并更改双击间隔

另一个问题是点击之间的时间间隔。如果我在1-2秒内点击同一个地点多次,它总是作为一个multiClick注册(event.mouse.clicks不断上升)。只有当我移动光标时,点击才会喜欢1.我如何改变这种行为,所以click和doubleClick之间的时间间隔约为1/4秒?

感谢,

回答

0

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

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