Hal pertama yang perlu kita selesaikan adalah mematikan mouse, tetapi hanya dalam X. Untuk ini kita bisa menggunakan xinput
.
Kita perlu menemukan perangkat input yang terhubung ke komputer (ke server X):
pbm@tauri ~ $ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ A4Tech USB Mouse id=10 [slave pointer (2)]
⎜ ↳ Macintosh mouse button emulation id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
[...]
Perangkat yang perlu kita gunakan adalah A4Tech USB Mouse
dengan id=10
. Selanjutnya kita perlu memeriksa properti perangkat itu:
pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
Device Enabled (121): 1
[....]
Untuk mematikan perangkat kita perlu mengubah properti Device Enabled
:
xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
Untuk mengaktifkannya:
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1
Hal berikutnya adalah melakukannya secara otomatis ...;) Dalam contoh ini kita akan menonaktifkan mouse dengan cara pintas keyboard dan mengaktifkannya dengan menekan tombol kiri + kanan mouse.
Untuk ini, kita dapat menggunakan daemon pintasan actkbd - keyboard (tetapi tidak hanya) yang berfungsi di luar X server.
Pertama kita perlu membuat file konfigurasi kosong untuk actkbd: touch /etc/actkbd.conf
. Hal berikutnya adalah menemukan perangkat yang terhubung ke komputer:
pbm@tauri ~ $ cat /proc/bus/input/devices
I: Bus=0003 Vendor=046d Product=c312 Version=0110
N: Name="BTC USB Multimedia Keyboard"
P: Phys=usb-0000:00:1d.0-1.6/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
I: Bus=0003 Vendor=09da Product=000a Version=0110
N: Name="A4Tech USB Mouse"
P: Phys=usb-0000:00:1d.0-1.5/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8
U: Uniq=
H: Handlers=mouse1 event5
B: EV=17
B: KEY=ff0000 0 0 0 0
B: REL=343
B: MSC=10
[...]
Pada bagian ini yang paling menarik untuk digunakan adalah nama dan pengendali perangkat keyboard dan mouse.
Pertama-tama kita menangani mematikan mouse dengan pintasan keyboard, jadi kita perlu menemukan id kunci:
pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3
Keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is Ctrl + Shift + `
Ketika kita tahu apa itu id kunci, kita perlu meletakkannya di file konfigurasi ( /etc/actkbd.conf
):
29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
Untuk mengujinya kita perlu menjalankan actkbd
dalam mode daemon:
pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D
Dengan cara yang sama kita perlu menangani acara "nyalakan":
- Periksa penangan perangkat mouse
- Periksa kode kunci tombol kiri + kanan menggunakan mouse
actkbd
- Masukkan ke
actkbd.conf
- Jalankan actkbd daemon untuk memantau perangkat input mouse
Menjalankan daemon dapat diwujudkan sebagai skrip init atau skrip autorun di lingkungan.
Untuk mematikan mouse secara otomatis, kita dapat memonitor perangkat input ( cat /dev/input/event5
) dan mematikannya ketika tidak ada input ...
Saya harap intro pendek saya akan membantu Anda ...;)
actkbd
! Setelah memposting pertanyaan saya, saya sudah menemukan cara untuk menggunakanxinput
, tetapi saya tidak tahu bagaimana saya akan mengaktifkan kembali mouse dengan menekan tombol mouse.Sudahkah Anda mencoba applet panel Gnome "Pointer Capture" ?
Jika uraian dari gnome.org tidak jelas, ini akan membuat area di panel tempat mouse masuk (atau Anda klik), kursor akan menghilang dan tidak akan muncul kembali hingga tindakan yang ditentukan terjadi, misalnya a klik kedua. Kedengarannya seperti apa yang Anda butuhkan?
sumber
Alt + F1
untuk membuka oleh menu aplikasi. Saya tidak tahu apa penyebabnya. Saya adalah pengguna ubuntu.