Yapmamız gereken ilk şey fareyi kapatmak, ama sadece X'da. Bunun için kullanabiliriz xinput
.
Bilgisayara (X sunucusuna) bağlı giriş aygıtlarını keşfetmemiz gerekir:
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)]
[...]
Biz kullanımına ihtiyaç Aygıtıdır A4Tech USB Mouse
ile id=10
. Sonra, bu cihazın özelliklerini kontrol etmemiz gerekiyor:
pbm@tauri ~ $ xinput list-props "A4Tech USB Mouse"
Device 'A4Tech USB Mouse':
Device Enabled (121): 1
[....]
Cihazı kapatmak için özelliği değiştirmemiz gerekiyor Device Enabled
:
xinput set-prop DEV PROP STATE
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
Açmak için:
xinput set-prop "A4Tech USB Mouse" "Device Enabled" 1
Sonraki şey bunu otomatik olarak yapmaktır ...;) Bu örnekte fareyi klavye kısayoluyla devre dışı bırakacağız ve sol + sağ fare düğmesine basarak etkinleştireceğiz.
Bunun için X sunucusunun dışında çalışan actkbd - klavye (ancak sadece) kısayol arka plan programı kullanabiliriz.
Öncelikle actkbd: için boş yapılandırma dosyası oluşturmamız gerekiyor touch /etc/actkbd.conf
. Bir sonraki şey, bilgisayara bağlı cihazları keşfetmek:
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
[...]
Bu bölümde kullanım için en ilginç olanı klavye ve fare cihazlarının adları ve işleyicileri.
Öncelikle fareyi klavye kısayoluyla kapatmayı başardık, bu yüzden anahtar kimlikleri keşfetmemiz gerekiyor:
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 + `
Anahtar kimliklerinin ne olduğunu bildiğimizde, onları config dosyasına ( /etc/actkbd.conf
) koymamız gerekir :
29+41+42:::sudo -u pbm DISPLAY=:0 xinput set-prop "A4Tech USB Mouse" "Device Enabled" 0
Test etmek için actkbd
arka plan modunda çalışmamız gerekiyor :
pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -D
Aynı şekilde "aç" olayını da ele almamız gerekir:
- Fare cihazının işleyicilerini kontrol edin
- Sol + sağ fare düğmesinin tuş kodlarını kullanarak
actkbd
- Koy
actkbd.conf
- Fare giriş cihazını izlemek için actkbd arka plan programını çalıştırın
Çalışan artalan süreçleri init betiği veya ortamda otomatik çalıştırma betiği olarak gerçekleştirilebilir.
Fareyi otomatik olarak kapatmak için giriş cihazını ( cat /dev/input/event5
) izleyebilir ve giriş olmadığında kapatabiliriz ...
Umarım kısa tanıtımım size yardımcı olur ...;)
actkbd
! Sorumu gönderdikten sonra, kullanmayı düşünmüştümxinput
, ancak fare düğmelerine basarak fareyi nasıl yeniden etkinleştireceğimi bulamadım.