2015-04-01 11 views
8

Tôi muốn viết nội dung nào đó trong trình duyệt ghi lại cử chỉ trên bàn di chuột.HTML5/Javascript - Có thể nhận tọa độ tuyệt đối của sự kiện chạm trên Bàn di chuột Macbook trong trình duyệt không?

Vì tôi muốn có thể theo dõi tất cả chuyển động mà không phải lo lắng về con trỏ rời khỏi cửa sổ, trước tiên tôi đã nghiên cứu vấn đề này và sử dụng MDN Pointer Lock API demo làm điểm bắt đầu.

Nhưng tôi nhận thấy khi sử dụng bản demo này trên MacBook nếu tôi nhấc ngón tay lên và bắt đầu kéo mới ở nơi khác trên bàn di chuột, nó bỏ qua khoảng cách ngón tay của tôi di chuyển trong không khí. đang chạm vào bàn di chuột. Điều này phù hợp với cách mà bàn di chuột được sử dụng để di chuyển con trỏ chuột trong hệ điều hành nói chung.

Nhưng đối với ứng dụng cụ thể của tôi, tôi muốn có tuyệt đối x và y của ngón tay trên bàn di chuột. Có thể xây dựng một biến thể của bản demo được liên kết ở trên, nơi dấu chấm màu đỏ tương ứng với vị trí tuyệt đối của ngón tay của bạn không? ví dụ: nếu bạn nhấc ngón tay lên và sau đó đặt nó xuống phía trên bên trái, dấu chấm màu đỏ sẽ luôn nhảy lên phía trên bên trái của canvas?

Tôi biết javascript Touch Events API, cung cấp tọa độ tuyệt đối khi được sử dụng trên máy tính bảng, nhưng demo không đăng ký bất kỳ đầu vào trackpad nào khi chạy trên MacBook dưới Firefox (v36) hoặc Chrome (v41).

Tôi cũng đã đọc rằng có thể bật mô phỏng cảm ứng trong Chrome, mặc dù tôi không thể tìm thấy hộp kiểm để thực hiện điều đó trong phiên bản của mình (có lẽ chỉ các nhà phát triển đặc biệt mới có phiên bản này) và đọc nó nhiều hơn một dịch chuyển chuột để cảm ứng vì vậy tôi nghi ngờ rằng mô phỏng đó sẽ có hỗ trợ cụ thể cho trackpad.

Có cách nào để nhận tọa độ x, y tuyệt đối của sự kiện chạm trên bàn di chuột của MacBook thông qua HTML/Javascript không?

+0

Có thể là câu trả lời này giúp đỡ http: //stackoverflow.com/questions/7790725/javascript-track-mouse-position – GibboK

Trả lời

0

Tôi thực sự không tin rằng bạn sẽ có thể làm cho bàn di chuột hoạt động theo cách bạn muốn. Hãy nhớ rằng, trackpad là hành động như một con chuột, nó giống như một trackball phẳng. Hãy suy nghĩ về nó như thể ngón tay của bạn đẩy con trỏ xung quanh mỗi khi bạn vuốt ngón tay của bạn và sau đó tập trung con trỏ dưới ngón tay của bạn bất cứ khi nào bạn nhấn vào bảng cảm ứng.

Trừ khi bạn có thể ánh xạ trackpad 1: 1 lên màn hình, cũng giống như những gì xảy ra với một cái gì đó giống như máy tính bảng Wacom, bàn di chuột không có tương quan với màn hình; nó chỉ biết về con chuột.

Trong Chrome (phiên bản Phiên bản 46.0.2490.71 m), bạn có thể mô phỏng các sự kiện liên lạc bằng cách cho phép nó ở chế độ thi đua:

  1. mở Dev Công cụ F12
  2. Hoặc nhấp vào biểu tượng điện thoại ở góc trên bên trái hoặc mở giao diện điều khiển tốt hơn bằng cách nhấn Esc
  3. Nhấp vào tab thi đua
  4. Chuyển đến Sensors bảng
  5. Kiểm tra Emulate touch screen

Enable Emulation in Chrome

+0

Mặc dù nó có thể đúng đối với một trình duyệt, có phương tiện nhận tọa độ chạm chính xác trong ứng dụng gốc. Tại sao ứng dụng trình duyệt phải khác? Tôi nghĩ rằng đó là điều tiếp theo mà các nhà cung cấp trình duyệt (ít nhất là Apple) nên thực hiện. Hoặc là, hoặc xóa chức năng hiện có cho ứng dụng gốc. – metalim

Các vấn đề liên quan