Sử dụng trackpad máy tính xách tay làm máy tính bảng đồ họa


15

Tôi quan tâm đến việc sử dụng trackpad máy tính xách tay của mình như một máy tính bảng vẽ, tức là sử dụng tọa độ tuyệt đối thay vì tương đối, tương tự như Inklet cho OSX.

Câu hỏi tương tự đã được hỏi trong ubuntuforums.org vào tháng 5 năm 2010, nhưng câu hỏi không bao giờ được trả lời. Tôi tự hỏi nếu điều này đã được thực hiện trên Linux. Tôi cũng đang cố gắng tìm ra những thuật ngữ tìm kiếm để sử dụng. Tôi đã tìm kiếm 'chế độ tuyệt đối cho bàn di động của máy tính xách tay linux' và gặp phải một vấn đề với trình điều khiển bàn phím đặt bàn di chuột ở chế độ tuyệt đối. nhưng tôi thực sự đang tìm kiếm một chương trình sử dụng các vị trí tuyệt đối thay vì cài đặt trình điều khiển.


1
Bạn có muốn điều này cho Ubuntu chạy trên MacBook không? Hoặc bạn đang hỏi hoặc một cách để làm điều này với bất kỳ trackpad nào trong Ubuntu?
Eliah Kagan

Tôi đang tìm kiếm thứ gì đó có thể hoạt động với bất kỳ máy tính xách tay nào.
Barton Chittenden

Các trackpad khác với những chiếc MacBook gần đây có khả năng này không? Điều này có vẻ như một cái gì đó phụ thuộc rất nhiều vào tính linh hoạt của chính thiết bị đầu vào.
Eliah Kagan

1
Bạn sẽ không tìm thấy một chương trình duy nhất có thể làm điều này. Trong Mac OS X, đây cũng không phải là trường hợp, nhưng họ đã quản lý để ẩn nó đúng cách (ví dụ: chuyển chế độ đầu vào dựa trên ứng dụng đang chạy). Q có liên quan: cách đọc vị trí nhấn tuyệt đối từ bàn di chuột Cirque trong linux
gertvdijk

Câu trả lời:


8

Nhìn vào trình điều khiển, không phải ứng dụng

Bạn sẽ không tìm thấy một chương trình làm điều này, vì ba loại bàn di chuột này, các trình điều khiển cố gắng trừu tượng hóa thành một đại diện duy nhất cho các ứng dụng:

  • Bàn di chuột báo cáo dữ liệu vị trí tuyệt đối đang được trình điều khiển Xorg dịch sang chuyển động tương đối cho các ứng dụng. Một ứng dụng thông thường không thể nói chuyện trực tiếp với bàn di chuột (theo thiết kế), vì vậy bạn thực sự phải tìm kiếm một giải pháp trong trình điều khiển.
  • Bàn di chuột có khả năng cả hai chế độ tương đối và tuyệt đối cần chuyển đổi các chế độ, rất cụ thể về phần cứng và không nhận biết ứng dụng.
  • Một số bàn di chuột cơ bản hơn không có khả năng báo cáo các vị trí tuyệt đối.

Thật không may, ngay cả khi bạn có một bàn di chuột có khả năng báo cáo tất cả các giá trị tuyệt đối, hầu hết các trình điều khiển bàn di chuột không cho phép bạn sử dụng chúng trong các ứng dụng Linux. Dữ liệu tuyệt đối thực sự ở đó, vì trình điều khiển có thể phát hiện xem bạn có chạm vào nó ở các cạnh để cuộn không. Tự kiểm tra điều này bằng cách sử dụng evtesttrong một thiết bị đầu cuối ảo (để tạm dừng X). Bàn di chuột Synaptics của tôi báo cáo các vị trí tuyệt đối như sau:

Event type 3 (EV_ABS)
  Event code 0 (ABS_X)
    Value   3332
    Min     1472
    Max     5648
    Fuzz       8
    Resolution      39
  Event code 1 (ABS_Y)
    Value   2017
    Min     1408
    Max     4806
    Fuzz       8
    Resolution      79

Khả năng thực sự đặt một thiết bị Synaptics ở chế độ tuyệt đối trong Xorg đã bị loại bỏ gần đây bởi cam kết này trong xf86-input-synapticstrình điều khiển:

Remove absolute mode

Moving a touchpad in absolute mode is unusual - touchpads are disconnected
from the output device, so direct interaction is hard. There appears to be
little usage of it (I haven't seen bug reports from people claiming to use
it). Joe Shaw, author of the code and only known user doesn't have a use for
it anymore, so purge it from the repo.

Hệ thống trình điều khiển cơ bản rộng: evdev

Cách duy nhất tôi thấy điều này là có thể tại thời điểm này trong Linux là sử dụng evdevtrình điều khiển trong Xorg. Nó đã được thảo luận trở lại vào năm 2010 trong danh sách gửi thư của Xorg (đoạn trích dưới đây):

Tôi phải có được vị trí tuyệt đối của một ngón tay trên bàn di chuột chứ không chỉ là chuyển động tương đối.

Trình điều khiển synap không làm điều này, nhưng trình điều khiển evdev thì không. Vì vậy, bạn cần định cấu hình máy chủ X của mình để sử dụng trình điều khiển evdev cho bàn di chuột thay thế. Đoạn mã cấu hình sau sẽ thực hiện điều đó cho bạn với điều kiện bạn đang chạy máy chủ 1.8 trở lên.

Section "InputClass"
    Identifier "evdev touchpad"
    MatchIsTouchpad "on"
    Driver "evdev"
    Option "Mode" "absolute"
EndSection

Lưu cái này làm /etc/X11/xorg.conf.d/99-evdev-touchpad.conf và khởi động lại máy chủ. Lưu ý rằng điều này chỉ thay đổi hành vi của chính bàn di chuột, không phải dữ liệu trong các sự kiện nhưng sau đó, dữ liệu đó luôn luôn tuyệt đối. Ngoài ra, bằng cách sử dụng evdev thay vì synap, bạn sẽ mất khả năng cuộn bằng hai ngón tay, chạm, v.v.

Dòng dưới cùng: tạo một yêu cầu tính năng

Tôi thấy phòng cho một yêu cầu tính năng trên bugtracker ngược dòng cho trình điều khiển synap (và có thể cả những người khác). Sẽ rất hữu ích khi có một giao diện trong Xorg để có thể đọc các giá trị vị trí tuyệt đối của bàn di chuột. Các trình chặn chính tôi thấy là điều này có thể rất cụ thể về phần cứng và do đó khó thực hiện.

Tôi nghĩ rằng việc nói chuyện với Joe Shaw và Peter Hutterer cũng có thể có giá trị lớn để xem chính xác lịch sử trong đó là gì, làm thế nào để biến nó thành một yêu cầu tính năng tuyệt vời và những gì mong đợi từ nó.


Đó là một câu trả lời hay nhưng ở đây, con chuột chỉ đóng băng ... (12.10)
desgua

@desgua Vâng, đó là điều rất đáng mong đợi. Nó không có bất kỳ giá trị đầu vào tuyệt đối ...
gertvdijk

1
Chỉ trong trường hợp bất cứ ai vẫn quan tâm đến điều này, tôi đã gửi một lỗi: bug.freedesktop.org/show_orms.cgi?id=75322
Donarsson

1
CẬP NHẬT: Yêu cầu tính năng của tôi đã bị từ chối và người bảo trì nói rằng anh ấy rất tiếc khi hợp nhất nó ở vị trí đầu tiên. Tôi sẽ xem xét mã và có thể rẽ nhánh nó. Nếu tôi làm, tôi sẽ đăng một bình luận cuối cùng ở đây để bất kỳ ai quan tâm đến nó đều có thể thấy nó. Xin lỗi vì spam.
Donarsson

0

Điều đó phụ thuộc rất nhiều vào phần cứng tôi nghĩ .. Bàn di chuột của bạn cần hỗ trợ cho đi vị trí tuyệt đối của một cú chạm. Một trackpad máy tính xách tay bình thường hoạt động giống như một con chuột, chỉ cung cấp thông tin hướng, tốc độ và tăng tốc. Vì vậy, bất cứ nơi nào bạn chạm vào, nó sẽ chỉ di chuyển từ hướng hiện tại của con trỏ.


1
Điều đó không đúng lắm. X có thể đọc các vị trí vì nó có thể phát hiện ra bạn đang cuộn trên cạnh nào. Tôi tin rằng đó là thông số cấu hình X Input mà chúng tôi đang bỏ lỡ.
gertvdijk

Vâng, điều đó cũng đúng .. Tôi không chắc chính xác nó hoạt động như thế nào, nhưng tôi nghĩ việc triển khai trong trackpad vẫn còn quá cơ bản để sử dụng như một máy tính bảng vẽ ..
Gladen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.