Menyembunyikan mouse setelah beberapa detik diam pada tampilan X

9

Saya memiliki aplikasi kios yang berjalan di Ubuntu Server 14.04.3 dengan Google Chrome dan tampilan X (xorg dan xsession).

Saat ini saya memiliki beberapa skrip untuk menyembunyikan mouse setelah 2 detik tidak digunakan dan ketika pengguna mencoba untuk memindahkan mouse itu muncul. Saya cukup memanfaatkan cursor:noneoverlay tak terlihat yang disuntikkan dan menghapus overlay itu saat diperlukan.

Sepertinya ketika saya boot kios kode dijalankan seperti yang diharapkan dan saya bisa melihat overlay dimasukkan tetapi karena mouse baru saja "dimuat" itu tidak akan hilang sampai saya membuat bahkan gerakan kecil dengannya. Sepertinya browser tidak mendeteksi mouse sampai saya membuat gerakan kecil dengannya yang mengakibatkan mouse ditampilkan di tengah layar. Karena masalahnya tidak terkait dengan kode saya karena tampaknya mengeksekusi dengan baik.

Yang ingin saya lakukan adalah jika mouse belum dipindahkan selama 2 detik, sembunyikan. Saat pengguna mencoba menggerakkan mouse, perlihatkan sekali lagi. Solusinya harus segera bekerja setelah mem-boot tampilan X, jadi ketika saya mem-boot tampilan X, mouse berada di tengah-tengah layar dan bahkan jika saya tidak menyentuhnya saat boot, ia akan hilang setelah 2 detik tidak digunakan. Saya kira saya harus mencapainya dengan bermain-main dengan tampilan X alih-alih mengandalkan kode saya karena mouse tidak terdeteksi ketika kios baru saja di-boot.

Apakah mungkin melakukan hal seperti itu dengan tampilan X?

kfirba
sumber

Jawaban:

14

Ada aplikasi bernama unclutteryang akan melakukannya. Instal dengan mengetik berikut ini di jendela terminal:

sudo apt-get install unclutter

setelah diinstal, Anda dapat mengubah batas waktu menjadi 2 detik dalam file berikut:

/etc/default/unclutter

dan ubah baris berikut:

EXTRA_OPTS="-idle 1 -root"

untuk

EXTRA_OPTS="-idle 2 -root"

ini juga otomatis dimulai ketika sistem dinyalakan.

Untuk memulainya sekarang tanpa sistem restart, ketik berikut ini:

nohup unclutter -idle 2 &

EDIT:

Jika tidak ditemukan untuk dipasang, edit /etc/apt/sources.listfile Anda dan pastikan baris berikut tidak dikomentari #:

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

Jika mereka berkomentar, hapus #di bagian depan baris, kemudian jalankan sudo apt-get updateuntuk memperbarui repositori, kemudian jalankan kembali sudo apt-get install unclutter.

Jika saya menjalankan perintah berikut, kita dapat melihat bahwa unclutteraplikasi tersebut berasal dari trusty universerepositori.

:~$ 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 <[email protected]>
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 <[email protected]>
Homepage: ftp://ftp.x.org/contrib/utilities/

Semoga ini membantu!

Terrance
sumber
Saya akan memeriksanya! Saya tidak percaya solusi sederhana seperti itu ada di bawah hidung saya :) Btw, ketika Anda mengatakan "buat startup" maksud Anda membuat file dalam init.dfolder?
kfirba
@kfirba Diperbarui untuk kemampuan autostart.
Terrance
terima kasih sudah mengeditnya! Saya akan segera menghubungi Anda dengan hasilnya :)
kfirba
@kfirba Senang saya bisa membantu Anda! =)
Terrance
Saya tidak dapat menginstal unclutter karena suatu alasan ... Saya mengetik sudo apt-get install unclutterdan mengatakan bahwa tidak ada paket unclutter. Ada ide bagaimana saya bisa memperbaikinya?
kfirba