Ẩn chuột sau vài giây không hoạt động trên màn hình X


9

Tôi có một ứng dụng kiosk chạy trên Ubuntu Server 14.04.3 với màn hình Google Chrome và X (xorg và xsession).

Hiện tại tôi có một số tập lệnh để ẩn chuột sau 2 giây không hoạt động và khi người dùng cố gắng di chuyển chuột thì nó xuất hiện. Tôi chỉ cần tận dụng cursor:nonelớp phủ vô hình được tiêm và loại bỏ lớp phủ đó khi cần.

Có vẻ như khi tôi khởi động kiosk, mã thực thi như mong đợi và tôi có thể thấy lớp phủ được chèn nhưng vì chuột chỉ được "tải" nên nó sẽ không biến mất cho đến khi tôi thực hiện một chuyển động nhỏ với nó. Có vẻ như trình duyệt không phát hiện ra con chuột cho đến khi tôi thực hiện một chuyển động nhỏ với nó dẫn đến việc con chuột được hiển thị ở giữa màn hình. Vì vấn đề không liên quan đến mã của tôi vì nó có vẻ hoạt động tốt.

Điều tôi muốn làm là nếu chuột không được di chuyển trong 2 giây, hãy ẩn nó đi. Khi người dùng cố gắng di chuyển chuột, hãy hiển thị lại một lần nữa. Giải pháp phải hoạt động ngay lập tức sau khi khởi động màn hình X, vì vậy khi tôi khởi động màn hình X, chuột ở giữa màn hình và ngay cả khi tôi không chạm vào nó khi khởi động, nó sẽ biến mất sau 2 giây không hoạt động. Tôi đoán tôi cần phải đạt được điều này bằng cách sửa đổi màn hình X thay vì dựa vào mã của tôi vì chuột không được phát hiện khi kiosk được khởi động mới.

Có thể làm một điều như vậy với màn hình X?

Câu trả lời:


14

Có một ứng dụng được gọi là uncluttersẽ làm điều đó. Cài đặt nó bằng cách gõ vào phần sau tại cửa sổ terminal:

sudo apt-get install unclutter

Sau khi được cài đặt, bạn có thể thay đổi thời gian chờ thành 2 giây trong tệp sau:

/etc/default/unclutter

và thay đổi dòng sau:

EXTRA_OPTS="-idle 1 -root"

đến

EXTRA_OPTS="-idle 2 -root"

điều này cũng tự động khởi động khi hệ thống khởi động.

Để bắt đầu ngay mà không cần khởi động lại hệ thống, hãy gõ như sau:

nohup unclutter -idle 2 &

BIÊN TẬP:

Nếu không tìm thấy để cài đặt, hãy chỉnh sửa /etc/apt/sources.listtệp của bạn và đảm bảo rằng các dòng sau không được nhận xét #:

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

Nếu chúng được nhận xét, loại bỏ #ở phía trước của dòng, sau đó chạy sudo apt-get updateđể cập nhật các kho lưu trữ, sau đó chạy lại sudo apt-get install unclutter.

Nếu tôi chạy các lệnh sau, chúng ta có thể thấy unclutterứng dụng đến từ trusty universekho lưu trữ.

:~$ apt-cache showpkg unclutter
Package: unclutter
Versions: 
8-19 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-amd64_Packages
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b
 Description Language: en
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b

:~$ dpkg -s unclutter
Package: unclutter
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 76
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Version: 8-19
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.3.4), libx11-6
Conffiles:
 /etc/X11/Xsession.d/90unclutter 9b47a483264cfc6a155fbd65cd8a3e6e
Description: hides the mouse cursor in X after a period of inactivity
 unclutter hides your X mouse cursor when you don't need it, to prevent it
 from getting in the way. You have only to move the mouse to restore the
 mouse cursor.
Original-Maintainer: Axel Beckert <abe@debian.org>
Homepage: ftp://ftp.x.org/contrib/utilities/

Hi vọng điêu nay co ich!


Tôi sẽ kiểm tra nó! Tôi không thể tin rằng một giải pháp đơn giản như vậy lại ở ngay dưới mũi mình :) Btw, khi bạn nói "tạo một khởi động", bạn có nghĩa là tạo một tệp trong init.dthư mục?
kfirba

@kfirba Cập nhật cho khả năng tự khởi động.
Terrance

cảm ơn vì đã chỉnh sửa mà! Tôi sẽ liên lạc lại với bạn ngay sau khi có kết quả :)
kfirba

@kfirba Vui mừng tôi có thể giúp bạn! =)
Terrance

Tôi không thể cài đặt unclutter vì một số lý do ... Tôi gõ sudo apt-get install uncluttervà nó nói rằng không có gói unclutter. Bất kỳ ý tưởng làm thế nào tôi có thể khắc phục điều này?
kfirba
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.