2015-10-19 119 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類,它可能正是您所需要的。