Cử chỉ đa điểm trên bàn di chuột


11

Tôi muốn biết làm thế nào tôi có thể định cấu hình cử chỉ đa chạm trong Ubuntu. Trong windows tôi có thể làm điều này bằng phần mềm trình điều khiển synap.

Tôi đã sử dụng synclientđể định cấu hình các vòi, palmdetect, cuộn, v.v. Nhưng tôi cũng muốn hỗ trợ cử chỉ. Là thậm chí có thể?

Thông tin hệ thống: Ubuntu 12.10, clickpad Synaptics


muốn chỉ định một số chi tiết: Điều tôi muốn làm là có thể định cấu hình cử chỉ cho các nút quay lại / chuyển tiếp của trình duyệt / nautilus. Trong cửa sổ, tôi có thể thực hiện việc này bằng thao tác vuốt 3 ngón tay. Tương tự để giảm thiểu / mở tất cả các cửa sổ. Trong Win7, điều này có thể được thực hiện bằng cách vuốt bốn ngón tay lên hoặc xuống. Tôi muốn những thứ tương tự như Mac. Điều này có thể không?
kapad

Câu trả lời:


11

Cập nhật 15/9/2016 Multitouch hoạt động tốt và tất cả các giải pháp được liệt kê bên dưới (mtrack, synclient, ginn, ...) sẽ làm mọi thứ rối tung lên, vì vậy nếu bạn đang cập nhật từ kernel cũ hơn yêu cầu chúng, hãy xóa tất cả các ứng dụng trợ giúp và thử hành vi kernel bên ngoài với touchpad ui cho trình quản lý máy tính để bàn của bạn. Nó nên làm những gì bạn cần, và nếu bạn muốn có nhiều cử chỉ và công cụ hơn, hãy thêm Easystroke hoạt động tốt. Nó được sắp xếp trong trình điều khiển đầu vào kernel stock và hoạt động mà không gặp vấn đề gì vì ít nhất kernel 4.1.32, mặc dù một số kernel 4.0 đầu tiên sẽ không hoạt động. Hạt nhân LTS hiện tại, 4.4 hoạt động tốt, cũng như 4.7.

cập nhật 9/2015 ... các hạt nhân trên 3.14 hoặc lâu hơn có hầu hết các cảm ứng đa điểm được tích hợp sẵn, vì vậy hãy thử gỡ cài đặt mtrack nếu bạn gặp vấn đề. chỉ có trình điều khiển đa điểm tích hợp và Easystroke hoạt động tốt với tôi kể từ kernel 3.14, mặc dù phiên bản 4.0 trở lên dường như có một hồi quy phá vỡ trackpad của apple. Hạt nhân 3.18 hoạt động tuyệt vời mặc dù.

Có rất nhiều giải pháp, hầu hết trong số đó vẫn còn một nửa nướng. Nhiều tài liệu đã hết hạn, vì vậy hãy chắc chắn rằng bạn xem ngày của bất cứ thứ gì bạn google.

Ubuntu đã tích hợp các cử chỉ thô sơ (2 ngón tay) trong applet cài đặt chuột / bàn di chuột.
Tôi tìm thấy nó ngẫu nhiên bị hất ra và cuộn hai ngón tay sau đó sẽ bị mờ đi một cách bí ẩn, đưa tôi ra một chuỗi dài của sự googling để có thể lấy lại.
Sau đó, tôi đã thử touchegg, loại đôi khi làm việc.
Đây là cách dễ nhất để cấu hình và có các hướng dẫn tốt nhưng nó dựa trên một giải pháp daemon cũ hơn cho vấn đề.
Hướng dẫn sử dụng đa điểm của Ubuntu (bạn sẽ phải google nó vì tôi chỉ có thể bao gồm hai liên kết) đã hết hạn nhưng đang dần hoạt động. Nó cung cấp một bộ giải pháp chắp vá khác, nhưng đang trong quá trình cập nhật.

Giải pháp tôi hiện đang sử dụng là mtrack (trong repos) kết hợp với Easystroke (phải biên dịch từ nguồn).
Mtrack hỗ trợ phiên bản kernel của multitouch chứ không phải là một giải pháp đặc biệt như touchegg và ginn nếu tôi hiểu đúng, nhưng Easystroke là một giải pháp daemon khác dường như hoạt động tốt hiện nay trên mtrack.

Cách tiếp cận của Mtrack dường như là hướng phát triển đang thực hiện.

gỡ cài đặt các thứ khác (ginn, touchegg) nếu bạn sử dụng nó và sau đó cài đặt mtrack từ tên đầy đủ của repos là xserver-xorg-input-mtrack .

Đó là một nỗi đau để cấu hình và tôi đã không có ba ngón tay để vuốt. Xem liên kết ở cuối chuỗi cho các tệp cấu hình khác nhau của mọi người. Tôi sử dụng một trackpad táo ma thuật và nó khá tốt cho điều đó, mặc dù nó có một trục trặc khó chịu trong đó nhấn đúp và kéo ví dụ để di chuyển một cửa sổ là thất thường. cách giải quyết là sử dụng một nút bấm thực tế để di chuyển các cửa sổ hoặc do dự một giây sau khi chạm hai lần và giữ trước khi di chuyển cửa sổ.

Tôi vừa tìm thấy Easystroke , và cho đến khi mtrack nhận được một gui, bạn có thể muốn thử điều đó nếu bạn đủ phiêu lưu để thử biên dịch một chương trình.

một khi được biên dịch bằng cách chạy make -j2và cài đặt bởi sudo make install, hãy khởi động nó easystroke -gđể lấy GUI và truy cập trang wiki để được hướng dẫn.

Một vấn đề khác bạn có thể cần sắp xếp là trình điều khiển.

Nếu bạn sử dụng mtrack , bạn có thể cần phải đánh số lại các tệp để trình điều khiển mtrack của bạn được đọc lần cuối hoặc cài đặt synap sẽ lấy mọi thứ.

Các trình điều khiển này được lưu trữ tại /usr/share/X11/xorg.conf.d .

sao chép trình điều khiển mtrack vào /etc/X11/xorg.conf.d , chỉnh sửa cài đặt trong thư mục đó (xem chủ đề được liên kết và README để biết cách thực hiện) để có được sự tốt đẹp của ba ngón tay nếu bạn có thể (hoặc sử dụng Easystroke ) và đổi tên tệp đến một số cao hơn để 50-mtrack.conf trở thành 60-mtrack.conf , nếu không, tôi thấy trình điều khiển synap sẽ lấy bàn di chuột của bạn một nửa thời gian.

Đặt tệp vào / etc có nghĩa là nó sẽ không bị ghi đè lên các bản cập nhật như tệp / usr và nó được đọc sau cùng và do đó được ưu tiên hơn các trình điều khiển mặc định trong / usr .

Hi vọng điêu nay co ich. Đây là một lĩnh vực phát triển khá tích cực, vì vậy bất cứ điều gì tôi viết có thể sẽ bị lỗi thời trong vòng một năm, hy vọng sẽ tốt hơn.


Hey cảm ơn cho câu trả lời tuyệt vời này. Xin lỗi, phải mất một lúc để kiểm tra nó :)
kapad

Bất kỳ tin tức về một giải pháp thích hợp về vấn đề này? Vẫn không thể làm cho nó hoạt động được chấp nhận ..
tomyo

Ngày nay dường như có một gói Easystroke và tùy chọn -g không được biết đến. Không có đối số, nó khởi động GUI. :) PS: Tôi chạy Mint 16.
Herbert

2

Tôi chỉ muốn đề xuất sử dụng phần tiếp theo của mtrack có sẵn tại github: https://github.com/p2rkw/xf86-input-mtrack , vì nó hỗ trợ kéo 3 ngón tay (hướng dẫn ở dưới cùng của readme).

Tôi cũng đang sử dụng nó cùng với Easystroke, nhưng tôi đã phải sửa đổi Easystroke để loại bỏ một số hạn chế về các thiết bị tuyệt đối, với thay đổi đơn giản này (tôi không nhớ lý do chính xác để làm điều này, xin lỗi):

diff --git a/handler.cc b/handler.cc
index 8830ea2..c9e3f91 100644
--- a/handler.cc
+++ b/handler.cc
@@ -563,7 +563,7 @@ protected:
        }
 protected:
        void move_back() {
-               if (!prefs.move_back.get() || (xstate->current_dev && xstate->current_dev->absolute))
+               if (!prefs.move_back.get())
                        return;
                XTestFakeMotionEvent(dpy, DefaultScreen(dpy), orig_x, orig_y, 0);
        }

Tôi cũng giảm lề lỗi cho cử chỉ:

diff --git a/gesture.cc b/gesture.cc
index 8531c08..0df990e 100644
--- a/gesture.cc
+++ b/gesture.cc
@@ -104,9 +104,9 @@ int Stroke::compare(RStroke a, RStroke b, double &score) {
                return -1;
        score = MAX(1.0 - 2.5*cost, 0.0);
        if (a->timeout)
-               return score > 0.85;
+               return score > 0.95;
        else
-               return score > 0.7;
+               return score > 0.92;
 }

... Và nó hoạt động rất tốt.

Lưu ý bên lề về cấu hình đau đớn: bạn có thể sử dụng xinput để định cấu hình nó một cách nhanh chóng, sau đó chỉnh sửa xorg.conf cho phù hợp hoặc tạo tập lệnh khởi động với các yêu cầu xinput.

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.