Fare düğmeleri etkin bırakılırken fare hareketi girişi nasıl devre dışı bırakılır?


9

Düğmeler için kullandığım bir farem var. Yalnızca farenin hareket girdisini devre dışı bırakmak istiyorum. Sensörü fiziksel olarak kapatmak işe yaramıyor.

Yanıtlar:


9

Kullanabilirsiniz xinput.

>xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer            id=4    [slave  pointer  (2)]
⎜   ↳ Mouse0                                id=6    [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard           id=5    [slave  keyboard (3)]
    ↳ Keyboard0

Orada bu durumda fare adını alırsınız Mouse0.

Aşağıdaki komutla farenizin hızını 100000'e kadar yavaşlatırsınız, bu da temelde sıfırdır.

xinput --set-prop 6 'Device Accel Constant Deceleration' 100000

veya

xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 100000

Geri dönmek için aynı şeyi kullanabilirsiniz

xinput --set-prop Mouse0 'Device Accel Constant Deceleration' 1

1
Düzgün kesmek. Kullanılabilir özellikler xinput list 6( 6cihaz nerede ) ile bulunabilir. Mülklerle ilgili dokümantasyona
Lekensteyn

3

Faremde 'Aygıt Hızlanma Sabit Yavaşlama' özelliği yok. İle hareketi hala devre dışı bırakabildim

xinput set-prop 9 266 -1    
xinput set-prop 9 269 0 1

ve ile yeniden etkinleştirin

xinput set-prop 9 269 1 0
input set-prop 9 266 0.0

Düğmeleriyle de devre dışı bıraktım

xinput set-button-map 9 0 0 0

Cihaz 9, Mitsumi Electric Apple Optik USB Farem .

Cihaz listesi

Device 'Mitsumi Electric Apple Optical USB Mouse':
    Device Enabled (132):   1
    Coordinate Transformation Matrix (134): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Accel Speed (266):     -1.000000
    libinput Accel Speed Default (267):     0.000000
    libinput Accel Profiles Available (268):        0, 0
    libinput Accel Profile Enabled (269):   0, 1
    libinput Accel Profile Enabled Default (270):   1, 0
    libinput Natural Scrolling Enabled (271):       0
    libinput Natural Scrolling Enabled Default (272):       0
    libinput Send Events Modes Available (250):     1, 0
    libinput Send Events Mode Enabled (251):        0, 0
    libinput Send Events Mode Enabled Default (252):        0, 0
    libinput Left Handed Enabled (273):     0
    libinput Left Handed Enabled Default (274):     0
    libinput Scroll Methods Available (275):        0, 0, 1
    libinput Scroll Method Enabled (276):   0, 0, 0
    libinput Scroll Method Enabled Default (277):   0, 0, 0
    libinput Button Scrolling Button (278): 2
    libinput Button Scrolling Button Default (279): 274
    libinput Middle Emulation Enabled (280):        0
    libinput Middle Emulation Enabled Default (281):        0
    Device Node (253):      "/dev/input/event4"
    Device Product ID (254):        1452, 772
    libinput Drag Lock Buttons (282):       <no items>
    libinput Horizonal Scroll Enabled (255):        1

2

Ben okursanız man 4 mousedrvdoğru, kendi xorg.conf ait CorePointer bölümünde, ayarlayabilirsiniz,

Option "EmulateWheel" true
Option "EmulateWheelButton" 0
Option "EmulateWheelInertia" 10000

hareketleri fare tekerleği düğmesi olaylarına dönüştürür, ancak atalet ayarı bunu kaydetmek için çok duyarsız hale getirir. Modern sistemlerde, mousedrv yerine evdev'dir. Bu, çalışma zamanında xinput kullanılarak da ayarlanabilir, örneğin:

xinput --set-prop 17 'Evdev Wheel Emulation' 1
xinput --set-prop 17 'Evdev Wheel Emulation Button' 0
xinput --set-prop 17 'Evdev Wheel Emulation Inertia' 10000

Burada 17 kendi cihaz numaranız olmalıdır. Bu numarayı aygıt adına göre almak ve bir başlangıç ​​komut dosyası sırasında $ device-id'de depolamak için bir işlev kullanıyorum.

set_device_id() {
  device_id=$(xinput --list | grep -m 1 "$1")
  device_id=${device_id##*id=}
  device_id=${device_id%%[[:space:]]*}
}

Bu maalesef cihazın kaydırma tekerleği girişini devre dışı bırakmanın yan etkisi vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.