Ẩn con trỏ chuột một cách linh hoạt khi sử dụng màn hình cảm ứng


21

Tôi có một máy tính xách tay màn hình cảm ứng và tôi muốn ẩn con trỏ bất cứ khi nào tôi chạm vào màn hình. Tôi nhận thức được các giải pháp như giải nénstartx -nocursornhưng tôi muốn con trỏ ẩn / hiển thị động, ẩn nếu tôi sử dụng màn hình cảm ứng và hiển thị khi tôi sử dụng chuột phần cứng.

Tôi đã nghĩ đến việc tạo hai con trỏ riêng biệt và áp dụng một trong hai giải pháp trên cho con trỏ màn hình cảm ứng, nhưng cả hai giải pháp đó đều không đề cập đến cách nhắm mục tiêu vào một con trỏ và việc có nhiều con trỏ làm cho mọi thứ trở nên kỳ lạ và điều đó sẽ không che giấu phần cứng con trỏ chuột.

Tôi nghĩ rằng tôi có thể làm điều này một cách hợp lý khi làm điều gì đó như thế này , theo dõi cơ chế nhập liệu hiện tại và thực hiện xinput -cursor [transparent cursor]bất cứ khi nào màn hình cảm ứng được sử dụng và xinput -cursor [normal cursor]bất cứ khi nào một con chuột bình thường được sử dụng.

Mặc dù vậy, tôi đã nhìn vào xinput và có vẻ như cả chuột phần cứng và màn hình cảm ứng đều được trượt vào cùng một con trỏ, cả hai đều đăng ký cùng một sự kiện trong xev vì vậy tôi không thực sự chắc chắn mình sẽ lấy thông tin cần thiết để phân biệt cảm ứng ở đâu từ một mouseclick. có thể không

Câu trả lời:


5

Bạn đã có thể sử dụng

Để sử dụng, cài đặt nó

sudo apt-get install unclutter

sau đó chạy nó

unclutter -idle 0.01 -root

Lưu ý rằng số sau khi nhàn rỗi có nghĩa là thời gian trước khi nó ẩn. Trong trường hợp này, nó được đặt thành 1/100 của một giây. Bạn có thể thử thay đổi nó thành một giá trị mà nó sẽ luôn bị ẩn.

Điều này sẽ ẩn con trỏ khi bạn không di chuyển nó. Tôi chắc chắn cũng có một tùy chọn để ẩn hoàn toàn nó.


Tôi đã thấy các giải pháp sử dụng unclutter nhưng điều này không phân biệt giữa sử dụng màn hình cảm ứng và chuột.
erp

2

Tôi cho rằng bạn sử dụng màn hình cảm ứng khi bạn không có chuột và cắm một cái vào hệ thống khi bạn muốn sử dụng nó. Trong trường hợp này, bạn có thể sử dụng udevcác quy tắc để quản lý con trỏ phù hợp:

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/usr/bin/xinput -cursor [transparent cursor]", RUN+="/usr/bin/xinput -cursor [normal cursor]"

Các điều kiện được sử dụng để phân biệt một con chuột được mượn từ câu trả lời này .

Hãy nhớ rằng các ứng dụng riêng lẻ được tự do xác định lại con trỏ một cách linh hoạt, do đó con trỏ của bạn có thể hiển thị lại khi bạn di chuột qua cửa sổ của chúng. unclutterThay vào đó, bạn có thể bắt đầu / dừng nếu bạn muốn ẩn tất cả các con trỏ ở mọi nơi:

ACTION=="add", ATTRS{bInterfaceProtocol}=="02", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceSubClass}=="01", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/user/.Xauthority", ENV{REMOVE_CMD}="/bin/sh -c unclutter&", RUN+="/usr/bin/killall unclutter"

Cá nhân tôi cũng sẽ vô hiệu hóa hoàn toàn màn hình cảm ứng khi chuột được cắm, do đó việc vô tình chạm vào nó không làm phiền con trỏ khi bạn mong đợi nó đi theo chuột.


đây là một tùy chọn tốt ngoại trừ việc tôi muốn hành vi này cho trackpad của mình, không chỉ cho chuột cắm. Tôi tin rằng udev chỉ ảnh hưởng đến các thiết bị được thêm / xóa động?
erp

Bạn có nghĩa là trackpad của bạn là "chuột phần cứng" của bạn? Tôi muốn nói rằng bạn sẽ phải thử và xem nó có hoạt động không. Touchpad thực sự có thể được nhìn thấy bằng udevcách loại bỏ khi bạn tắt nó bằng nút Fn (giả sử bạn có một cái).
Dmitry Grigoryev

1

Hiện tại có một nhánh của công cụ sửa lỗi không rõ ràng tại đây . Phiên bản này thêm -touchtùy chọn để tự động ẩn con trỏ mỗi khi phát hiện thấy đầu vào cảm ứng. (Kho lưu trữ unclutter-xfixes ban đầu ở đây )

Một điều cần lưu ý là nó vẫn bao gồm hành vi ẩn con trỏ sau một khoảng thời gian xác định. Bạn chỉ có thể đặt --timeouttùy chọn thành một giá trị rất cao để khắc phục điều đó.

Điều này sẽ làm việc hoàn hảo cho bạn. Trong trường hợp của tôi, tôi có một màn hình cảm ứng gắn ngoài và khi tôi quay trở lại màn hình thông thường, con trỏ sẽ ở trên màn hình cảm ứng, vì vậy tôi phải di chuyển nó trở lại màn hình từ nơi tôi chạm vào. Điều thú vị là sau khi tôi bắt đầu di chuyển chuột, con trỏ sẽ hiển thị để tôi biết nó đang ở đâu.

Một lợi ích tuyệt vời của tùy chọn này là tôi vẫn có thể sử dụng chuột như bình thường trên màn hình cảm ứng nếu tôi muốn nhưng giấu nó khi tôi không.

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.