Kurangi sensitivitas mouse di bawah batas standar

42

Saya memiliki mouse USB yang terpasang pada notebook Ubuntu saya. Mouse ini (sayangnya) benar-benar sensitif, sehingga terkadang sulit untuk menekan ikon kecil dengan pointer mouse. Ini benar-benar masalah perangkat keras, ini bukan bug dan itu bukan kesalahan Ubuntu / gnome. Namun, saya sangat ingin masalah ini melalui perangkat lunak (penyelesaian melalui perangkat keras akan berarti membeli mouse baru).

Kembali ke Windows, jika saya mengatur sensitivitas sangat rendah, itu cukup nyaman. Di Ubuntu, bahkan sensitivitas dan akselerasi terendah yang tersedia (dalam menu System> Prerences> Mouse ) masih membuat frustrasi. Bagaimana saya bisa menguranginya di bawah standar minimum?

Saya mencoba xset, tetapi tampaknya xset hanya berurusan dengan akselerasi dan ambang batas, tetapi tidak sensitivitas sebenarnya.

Malabarba
sumber
1
Di mana saya meletakkan baris kode ini?

Jawaban:

55

Saya memiliki mouse Razer DeathAdder dan seperti dalam kasus Anda, sensitivitas / akselerasi terlalu tinggi bahkan jika saya meletakkannya di level terendah di preferensi mouse. Jadi untuk mengatasi masalah ini, saya menggunakan perintah xinput.

Pertama, Anda perlu ProductName dan ID mouse Anda:

xinput list
...
 Razer Razer DeathAdder                     id=8    [slave  pointer  (2)]
...

Kemudian Anda mengatur tingkat perlambatan konstan yang sesuai dengan kebutuhan Anda dengan perintah ini:

xinput set-prop 8 "Device Accel Constant Deceleration" 3
# 8 = DEVICE_ID
# 3 = LEVEL (factor) Higher = Slower.

Untuk membuat konfigurasi tetap (dan membuat sistem lebar) , Anda perlu mengedit xorg.conf ( /etc/X11/xorg.conf) Anda.

Section "InputClass"
   Identifier      "Razer"                    # Whatever you want.
   MatchProduct    "Razer Razer DeathAdder"   # Product name from xinput list.
   Option          "ConstantDeceleration" "3" # The same value as xinput.
EndSection

Setelah Anda reboot, Anda harus memiliki hasil yang sama dengan perintah xinput.

Beritahu saya jika itu membantu.

JackTravis
sumber
Luar biasa! Saya sudah menyerah minggu lalu. Terima kasih banyak, ini memang membantu.
Malabarba
5
Bah: "properti 'Deselerasi Konstan Perangkat Accel' tidak ada, Anda perlu menentukan jenis dan formatnya
mlissner
1
Masih berfungsi, bahkan untuk Linux Mint 17! Terima kasih :)
Richard de Wit
3
jika saya tidak memiliki xorg.conffile, haruskah saya membuatnya?
Ciprian Tomoiagă
1
@mlissner mencoba id divice yang berbeda, milik saya memiliki 3 petunjuk, dan saya harus menggunakan 10
flcoder
6

Ubuntu 17.04

Ikuti instruksi di bawah ini, tetapi ubah:

xinput set-prop 10 "Device Accel Constant Deceleration" 3

Untuk:

xinput set-prop 10 "libinput Accel Speed" -0.4

Terima kasih @tambre. Tidak yakin ini cukup ideal dengan pengaturan lama, tapi cukup dekat.

xset m 3

Itu masih bekerja dengan sangat baik. Perlu mengetahui cara menyimpan jadi ini adalah default saat reboot.

Ubuntu 16.04

Jawaban @JackTravis sangat membantu, tapi saya pikir layak memperbarui untuk 16,04 karena file xorg.conf telah dipindahkan dan dipecah menjadi beberapa file. Sebelum menulis jawaban ini, saya mencoba menggunakan xsetdan bermain-main dengan xinputpengaturan untuk sementara waktu sebelum memutuskan bahwa xinput ConstantDeceleration 3pengaturan JackTravis adalah yang terbaik untuk Logitech M510 saya di desktop saya dan beberapa mouse kabel yang lebih tua di laptop saya.

1. Daftar Tikus

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech M510                             id=10   [slave  pointer  (2)]
⎜   ↳ Synaptics Inc. Composite TouchPad / TrackPoint    id=13   [slave  pointer  (2)]
...

Mouse saya adalah Logitech M510, id=10jadi saya akan menggunakannya dalam contoh ini. Anda harus menggantinya dengan apa pun nama mouse Anda. Sekarang, gunakan xinput set-propuntuk mencoba berbagai pengaturan hingga mouse Anda bergerak persis seperti yang Anda inginkan. The 10dalam berkorespondensi berikut untuk id=10untuk mouse saya pada sistem saya. Anda mungkin harus mengubahnya.

2. Ubah Pengaturan Anda Untuk Sementara

$ xinput set-prop 10 "Device Accel Constant Deceleration" 3

Jika Anda ingin tahu pengaturan apa yang memengaruhi perangkat Anda, coba

$ xinput --list-props 10

Untuk menghapus pengaturan setelah saya benar-benar mengacaukannya, yang harus saya lakukan adalah mencabut dan pasang kembali mouse saya.

3. Simpan Pengaturan Baru Secara Permanen

Jika Anda menyukai ConstantDeceleration of 3, maka Anda perlu menambahkan file xorg.conf dengan cara Ubuntu 16.04 baru: dengan menambahkan file baru di /usr/share/X11/xorg.conf.d/ Anda akan ingin mengubah Logitech M510dan logitech-m510dalam nama file untuk mencocokkan mouse Anda. Saya pikir 60-di awal nama file adalah prioritas dengan mana file-file ini dimuat. Perintah shell satu baris berikut adalah apa yang saya masukkan ke machineSetup.shfile saya di Dropbox sehingga saya dapat dengan cepat menyesuaikan mesin baru persis seperti yang saya suka dalam beberapa menit setelah instalasi baru:

sudo sh -c "echo 'Section \"InputClass\"\n\
   Identifier      \"My awesome new mouse\"\n\
   MatchProduct    \"Logitech M510\"\n\
   Option          \"ConstantDeceleration\" \"3\"\n\
EndSection\n' > /usr/share/X11/xorg.conf.d/60-logitech-m510.conf"

ATAU , jika Anda ingin melakukannya dengan cara GUI, buka editor sebagai root lalu tempel dan edit berikut ke dalam/usr/share/X11/xorg.conf.d/60-<whatever>.conf

Section "InputClass"
   Identifier      "My Awesome Blue Mouse"
   MatchProduct    "Logitech M510"
   Option          "ConstantDeceleration" "3"
EndSection

4. Reboot

Itu dia. Cukup reboot dan verifikasi bahwa pengaturan baru mulai berlaku.

GlenPeterson
sumber
1
Sayangnya saya mendapatkan yang berikut: property 'Device Accel Constant Deceleration' doesn't exist, you need to specify its type and formatketika mencoba perintah di langkah ke-2 (dengan perangkat saya id).
tambre
@tambre tebakan saya adalah bahwa Anda tidak menggunakan ID numerik yang benar yang diidentifikasi pada langkah 1 ketika Anda melakukan langkah 2. Jika itu tidak terjadi, maka saya mungkin tidak akan cukup tahu untuk dapat membantu Anda.
GlenPeterson
1
Setelah daftar properti, Device Accel Constant Decelerationtidak ada di sana. Tampaknya menggunakan libinput sebagai driver, jadi saya harus memodifikasi nilai libinput Accel Speed, yang nilai validnya adalah dari -1 hingga 1, sebagai gantinya.
tambre
1
Ini bekerja untuk saya, tetapi mouse saya ("Razer Razer DeathAdder 2013") muncul beberapa kali di bawah Virtual core pointer(dua kali) dan Virtual core keyboard(sekali). Hanya pointerperangkat yang memilikinya Device Accel Constant Deceleration, jadi saya harus memastikan untuk memilih salah satu dari perangkat tersebut saat mengujinya xinput. The xorg.conf.dberkas masih bekerja dengan sempurna.
Alex
2

Balasan terlambat, tapi saya rasa ini layak untuk dikirim:

Karena kita berbicara tentang gaming mouse di sini. Lebih baik mematikan akselerasi mouse sepenuhnya (berguna untuk gamer FPS dll.). Menghemat beberapa siklus CPU dengan tidak menggunakannya untuk menghitung akselerasi mouse apa pun dan cenderung pembacaan yang lebih akurat juga (tergantung atau sensor perangkat keras mouse memiliki ekstrapolasi bawaan).

xinput set-prop <mousedevice_nr> "Device Accel Profile" -1

atau

Section "InputClass"
   Identifier      "Razer"
   MatchProduct    "Razer DeathAdder"         # Product name from xinput list.
   Option          "AccelerationProfile" "-1" # Turn mouse accel off saving CPU cycles
EndSection

Sumber

pengguna165961
sumber
Saya mendapatkan ini: X Error of failed request: BadValue (integer parameter out of range for operation).
MasterOfBinary
Hebat ini luar biasa terima kasih. Saya mengalami masalah dengan Kingsis Peripherals Evoluent VerticalMouse 3. Ia memiliki pengaturan DPI di bagian bawah mouse dan pada pengaturan DPI tertinggi - bahkan pengaturan sensitivitas terendah masih terlalu tinggi.
anon58192932
2

Sedikit modifikasi pada jawaban Glen, ini berfungsi untuk mouse Logitech saya dan menggandakan "kelambatan" dari 1 menjadi 2.

Tambahkan ke ~ / .profile (seperti yang ditunjukkan dalam komentar) (atau .bashrc tetapi kemudian Anda harus meluncurkan terminal untuk perubahan yang terjadi)

MOUSE_SLOWNESS=2
MOUSE_ID=`xinput list | grep Mouse | awk '{print $(NF-3)}' | cut -c4-5`
xinput set-prop $MOUSE_ID "Device Accel Constant Deceleration" $MOUSE_SLOWNESS
lahjaton_j
sumber
1
Saya pikir lebih baik menambahkan baris-baris itu ke akhir .profiledaripada .bashrc. .profilehanya dijalankan oleh shell login interaktif sementara itu .bashrcakan berjalan setiap kali bashshell dimulai. Lihat jawaban ini untuk informasi lebih lanjut.
chus
secara teknis .bash_aliasesberfungsi dengan baik karena .bashrcfile ubuntu standar memuatnya dengan benar?
anon58192932
1

Jika Anda menggunakan port PS2 gerakan mouse jauh lebih lambat untuk resolusi mouse yang sama.

Untuk mouse Anda, coba gunakan konverter USB ke PS2 dan letakkan mouse itu sebagai port PS2.

Edit:

Saya telah menemukan xorg.confsolusi yang berfungsi:

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Sensitivity" "0.2"
EndSection

Di mana sensitivitas 1 adalah default dan 0,2 yang menguranginya lima kali.

iugamarian
sumber
Itu ide yang kreatif. Saya pikir saya punya konverter di rumah, jadi saya akan mencobanya besok.
Malabarba
Saya telah menemukan solusi xorg.conf yang berfungsi. Jawaban yang diedit.
iugamarian
1
Ini tidak akan bekerja pada laptop.
Daniel Silva
Dimana xorg.conf?
Hijau