2015-04-01 67 views
8

我想寫一些在觸控板上記錄手勢的瀏覽器。HTML5/Javascript - 是否可以在瀏覽器中的Macbook觸控板上獲取觸摸事件的絕對座標?

因爲我希望能夠跟蹤所有的運動而不必擔心指針離開窗口,所以我首先研究了這個問題,並以MDN Pointer Lock API demo爲起點。

但是我注意到當在MacBook上使用這個演示時,如果我擡起手指並在觸控板上的其他位置開始新的拖動,它會忽略我的手指在空中移動的距離,它只計算我的手指觸摸觸控板。這與通常用於在操作系統中移動鼠標指針的方式一致。

但是對於我的特定應用,我希望我的手指在觸控板上具有絕對 x和y。是否有可能構建上面鏈接的演示版本,其中紅點對應於手指的絕對位置?例如,如果您擡起手指然後將其放在左上角,紅色點總是會跳到畫布的左上角?

我知道javascript Touch Events API,它在平板電腦上使用時提供絕對座標,但在Firefox(v36)或Chrome(v41)下的MacBook上運行時,demo未註冊任何觸控板輸入。

我也讀過,可以在Chrome中啓用觸摸模擬,但我無法找到在我的版本下執行該操作的複選框(也許只有特殊的開發人員版本纔有這種功能),並且從閱讀中可以看出它似乎是更多的鼠標觸摸翻譯,所以我懷疑這種模擬會對觸控板有特定的支持。

有沒有什麼辦法通過HTML/Javascript獲得MacBook觸控板上的觸摸事件的絕對x,y座標?

+0

可能是這個答案幫助的http://stackoverflow.com/questions/7790725/javascript-track-mouse-position – GibboK 2016-09-06 09:41:05

回答

0

我真的不相信你能夠讓觸控板以你想要的方式工作。請記住,觸控板應該是一個鼠標,它就像一個扁平的軌跡球。想想它,就好像你的手指在你每次滑動手指時都按下了光標,然後每當你按下觸控板時將光標置於手指的下方。

除非您能夠將觸控板1:1映射到屏幕,就像使用Wacom平板電腦那樣,觸控板與屏幕無關;它只知道鼠標。

Chrome(版本版本46.0.2490。71米),您可以通過啓用它在仿真模式模擬觸摸事件:

  1. 開放開發工具F12
  2. 您可以點擊電話圖標的左上角或按打開更好的控制檯Esc鍵
  3. 點擊仿真標籤
  4. 轉到Sensors面板
  5. 檢查Emulate touch screen

Enable Emulation in Chrome

+0

雖然它可能對瀏覽器是真的,也有越來越手段本地應用程序中的精確觸摸座標爲什麼瀏覽器應用程序應該不同我認爲這是瀏覽器廠商(至少蘋果)應該實施的下一個事情。要麼,要麼刪除原生應用程序的現有功能。 – metalim 2015-12-01 07:33:47

相關問題