簡體   English   中英

Qt5 忽略原生觸摸事件

[英]Qt5 Ignoring Native Touch Events

幾年前,我不得不在應用程序中實現觸摸功能,但我的公司仍在使用 Scientific Linux 6.4,它本身不支持觸摸,更不用說多點觸摸了。 幸運的是,我能夠將內核升級到 2.6.32-754,這讓我可以訪問多點觸控事件,雖然它們不是本機處理的,但我能夠在應用程序中編寫自己的“驅動程序”,該驅動程序可以讀取/dev/input/event文件並使用內核中的input_event類來捕獲觸摸事件並將其轉換為應用程序行為。

現在,兩年后,我們終於轉向 RedHat 8,顯然現在有了原生觸摸支持。 我的幾乎所有代碼仍然需要,因為它非常特定於這個應用程序,而且我認為重寫任何東西都沒有多大意義。 然而,因為觸摸事件現在被本地識別,我看到一些觸摸事件將被注冊兩次的問題——一次來自操作系統,一次來自我的驅動程序。 來自我的驅動程序的觸摸按下事件是必需的,因為它們由我的驅動程序跟蹤和處理。

有沒有辦法更新我的驅動程序以忽略干擾我的驅動程序的操作系統本機觸摸事件而不影響我的驅動程序操作? 這在屏幕鍵盤上尤為普遍,當按下按鈕時,屏幕鍵盤會鍵入兩次相同的字符。

這個問題的簡單答案似乎是使用xinput禁用觸摸屏設備輸入,這給了我想要的行為。 我不想重新編寫處理它的代碼的原因是因為在行為或性能上沒有差異會花費大量的精力和時間。 我不能只使用原生觸摸,因為 UI 不只使用單點觸摸操作,它使用由我的驅動程序解釋的自定義手勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM