Jak ustawić czułość myszy, a nie tylko jej przyspieszenie?


35

Nie mogę znaleźć pojedynczego środowiska pulpitu, które obsługuje zarówno przyspieszenie myszy, jak i czułość myszy. Nie chcę żadnego przyspieszenia myszy, ale chcę zwiększyć prędkość mojej myszy. Oznacza to, że jeśli poruszę myszą o tę samą odległość, wskaźnik za każdym razem przesunie tę samą odległość, bez względu na to, jak szybko poruszę myszą.

KDE pozwoli mi ustawić przyspieszenie myszy na 1x, ale mysz porusza się wtedy zbyt wolno i nie mogę wymyślić, jak zwiększyć prędkość. Jestem gotów zaakceptować rozwiązanie CLI, ale mogłem jedynie xinputzmienić przyspieszenie. Nie przypominam sobie też, by mieć dużo szczęścia xset.


Czy nie możesz tego zrobić, zwiększając zarówno przyspieszenie, jak i próg, przy którym uruchamiane jest przyspieszenie? Czy to pomaga?
terdon

1
Nie wydaje mi się Jeśli dobrze rozumiem, po prostu zostawi mnie wolną myszką przy 1x przyspieszeniu, dopóki nie przesunę wskaźnika na określoną odległość, na którą przyspieszy się. Chcę, aby mój wskaźnik zawsze poruszał się z tą samą prędkością . W ogóle nie chcę żadnego przyspieszenia.
David Gay

Ja też nie jestem pewien, ale wydaje mi się, że gdzieś xset m 3 400mi się udaje, chodzi o to, aby ustawić próg na tyle wysoko, aby nigdy go nie przekroczyć, aby nie mieć przyspieszenia jako takiego. Być może, jeśli trochę z tym zagrasz?
terdon

Wiem, że mogę wyeliminować przyspieszenie, ale chcę zwiększyć PRĘDKOŚĆ bez przyspieszenia. Zwiększona prędkość, zerowe przyspieszenie. Mówię teraz w #kde i wydaje się, że jedynym rozwiązaniem może być zakup myszy z większym DPI. : / Jeśli od jakiegoś czasu nie otrzymam dobrej odpowiedzi, sama odpowiem jako niemożliwa.
David Gay

3
To pytanie zostało zadane i udzielono odpowiedzi na Ubuntu SE: askubuntu.com/questions/172972/…
Warren Young,

Odpowiedzi:


26

Wystarczy zmusić wskaźnik do pomijania pikseli, oto jak:

Pierwsza lista urządzeń wejściowych:

$ xinput list                                                               
⎡ Virtual core pointer                          id=2    [master pointer  (3)]                                 
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]                                 
⎜   ↳ PixArt USB Optical Mouse                  id=10   [slave  pointer  (2)]                                 
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]                                 
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]                                 
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]                                 
    ↳ Power Button                              id=6    [slave  keyboard (3)]                                 
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]                                 
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]                                 
    ↳ USB2.0 UVC 2M WebCam                      id=9    [slave  keyboard (3)]                                 
    ↳ Asus Laptop extra buttons                 id=13   [slave  keyboard (3)]                                 
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=11   [slave  keyboard (3)]                                 
    ↳   USB Keyboard                            id=12   [slave  keyboard (3)]   

W przykładzie widzimy, że identyfikator myszy to 10. Następnie wypisz jego właściwości:

$ xinput list-props 10
Device 'PixArt USB Optical Mouse':
        Device Enabled (140):   1
        Coordinate Transformation Matrix (142): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (265):     0
        Device Accel Constant Deceleration (266):       1.000000
        Device Accel Adaptive Deceleration (267):       1.000000
        Device Accel Velocity Scaling (268):    10.000000
        Device Product ID (260):        2362, 9488
        Device Node (261):      "/dev/input/event5"
        Evdev Axis Inversion (269):     0, 0
        Evdev Axes Swap (271):  0
        Axis Labels (272):      "Rel X" (150), "Rel Y" (151), "Rel Vert Wheel" (264)
        Button Labels (273):    "Button Left" (143), "Button Middle" (144), "Button Right" (145), "Button Wheel Up" (146), "Button Wheel Down" (147), "Button Horiz Wheel Left" (148), "Button Horiz Wheel Right" (149)
        Evdev Middle Button Emulation (274):    0
        Evdev Middle Button Timeout (275):      50
        Evdev Third Button Emulation (276):     0
        Evdev Third Button Emulation Timeout (277):     1000
        Evdev Third Button Emulation Button (278):      3
        Evdev Third Button Emulation Threshold (279):   20
        Evdev Wheel Emulation (280):    0
        Evdev Wheel Emulation Axes (281):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (282):    10
        Evdev Wheel Emulation Timeout (283):    200
        Evdev Wheel Emulation Button (284):     4
        Evdev Drag Lock Buttons (285):  0

Chcemy «Matrycy transformacji współrzędnych», pamiętajmy jej nr 142.

Zmieniając tę ​​właściwość, możemy zwiększyć prędkość wskaźnika. Jest to macierz transformacji używana do obliczania ruchu wskaźnika . Z linku:

Domyślnie CTM dla każdego urządzenia wejściowego w X jest macierzą tożsamości. Na przykład załóżmy, że dotykasz ekranu dotykowego w punkcie (400, 197) na ekranie:

⎡ 1 0 0 ⎤   ⎡ 400 ⎤   ⎡ 400 ⎤
⎜ 0 1 0 ⎥ · ⎜ 197 ⎥ = ⎜ 197 ⎥
⎣ 0 0 1 ⎦   ⎣  1  ⎦   ⎣  1  ⎦

Współrzędne X i Y zdarzenia urządzenia są wprowadzane do drugiej macierzy obliczeń. Wynik obliczeń polega na odwzorowaniu współrzędnych X i Y zdarzenia na ekran. Jak pokazano, macierz tożsamości odwzorowuje współrzędne urządzenia na współrzędne ekranu bez żadnych zmian.

Tak, chcemy zwiększyć wartości zgodnie z X i Y , zwiększając w ten sposób szybkość wskaźnika. Przykład z mojego komputera:

$ xinput set-prop 10 142 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000

Jest xinput set-prop <device-id> <property-number> <property-values>. Zagraj w to, dopóki nie znajdziesz odpowiedniego. Uwaga: nie zmieniaj ostatniej wartości macierzy. To był mój błąd, kiedy próbowałem go dostać do pracy - w tym przypadku po prostu nie zobaczysz żadnej różnicy.

Podziękowania: Jestem wdzięczny Simonowi Thumowi z listy mailingowej Xorg, on był tym, który dał wskazówkę dotyczącą matrycy.

UPD : zauważ, że niektóre gry Windows działające z Wine mogą mieć dziwne zachowanie wskaźnika (np. Zauważyłem, że cel w starym Counter Strike 1.6 spada, dopóki nie spojrzy na podłogę, niezależnie od tego, jak poruszasz myszą) , w tym przypadku po prostu zresetuj x i y CTM do 1 przed uruchomieniem gry.


1
@ Wyatt8740 Niedawno zauważyłem, że w niektórych okolicznościach numer nieruchomości może się zmienić samodzielnie, w takim przypadku możliwe jest użycie nazwy urządzenia / właściwości zamiast liczby. IE z mojego urządzenia: xinput set-prop "PixArt USB Optical Mouse" "Coordinate Transformation Matrix" 2.400000, 0.000000, 0.000000, 0.000000, 2.400000, 0.000000, 0.000000, 0.000000, 1.000000.
Cześć Anioł

tak, też użyłem tych strun.
Wyatt8740

1
Niesamowite, jedyna rzecz, która działa dla mnie
MichalH

17

Poniższe odpowiedzi zostały skopiowane dosłownie z odpowiedzi opublikowanej przez @Luke na Ask Ubuntu. Publikuję ją jako odpowiedź na wiki społeczności, aby informacje mogły znaleźć się również na tej stronie.


KDE nie wbudowało jeszcze tego w swoje centrum sterowania, ale możesz użyć xinput z wiersza poleceń. Najpierw biegnij, xinput listaby znaleźć numer urządzenia myszy:

$ xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=9    [slave  keyboard (3)]

Na moim laptopie chcę mieć identyfikator urządzenia 10 (SynPS / 2 Synaptics TouchPad). W twoim systemie będziesz musiał zdecydować, które urządzenie jest właściwe. Następnie uruchom, xinput list-props <your device id>aby zobaczyć bieżące ustawienia tego urządzenia:

$ xinput list-props 10
Device 'SynPS/2 Synaptics TouchPad':
    Device Enabled (144):   1
    Device Accel Profile (266):     1
    Device Accel Constant Deceleration (267):       2.500000
    Device Accel Adaptive Deceleration (268):       1.000000
    Device Accel Velocity Scaling (269):    12.500000
  [ many more settings omitted ]

Właściwość, która Cię interesuje, to „Device Accel Constant Deceleration (267)”. Aby spowolnić kursor, wartość należy zwiększyć, uruchamiając xinput set-prop <your device id> <property id> <value>:

$ xinput set-prop 10 267 5.0

W tym przykładzie wartość została zwiększona z 2,5 do 5,0, a mysz porusza się z połową prędkości.


Objaśnienie właściwości można znaleźć na X.org .

Jeśli używasz tego w skryptach, użycie pełnych nazw może być pomocne, ponieważ id itp. Może się zmienić. Na przykład:

xinput --set-prop "SynPS/2 Synaptics TouchPad" "Device Accel Constant Deceleration" 1

Jeśli nie zgadzasz się z tym, co tutaj zrobiłem, przyjdź i powiedz mi w tym poście.
terdon

1
Jeśli mógłbyś tylko wyjaśnić: czy „stałe przyspieszanie urządzenia” ma związek z przyspieszeniem lub czułością? Czy możesz podać przykład polecenia dla mojego pytania? Taki, który usuwa całe przyspieszenie myszy, ale wciąż pozwala mi zwiększyć czułość myszy (BEZ przyspieszenia)?
David Gay

@oddshocks szczerze mówiąc, nie mam pojęcia. Skopiowałem to z witryny, do której linkuję. To także strona SE, po prostu zapytam ich.
terdon

@terdon, więc jak zwiększyć prędkość wskaźnika myszy? Wskazana opcja jest domyślnie ustawiona na „1.0”, a próba jej zmniejszenia w dalszym ciągu daje wartość ujemną lub przynajmniej coś w rodzaju „0.1” powoduje błąd.
Cześć Angel

1
Działa to tylko wtedy, gdy urządzenie zezwala na tę opcję, a moja nie. Możesz to sprawdzić za pomocąxinput list-props <device-id>
Franklin

4

Jeśli używasz Xorg.conf do skonfigurowania X Server, możesz użyć tego w celu ustawienia przyspieszenia lub opóźnienia. Po prostu dodaj coś do efektu:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "ConstantDeceleration" "multiplier"
EndSection

gdzie mnożnik oznacza, ile razy wolniej chcesz przesunąć mysz. 0,5 podwoiłoby prędkość lub 2 zmniejszyłoby ją o połowę. Odpowiednio, choć bardziej skomplikowane:

Section "InputDevice"
    Identifier "name"
    Driver "evdev"
    Option "TransformationMatrix" "a b c d e f g h i"
EndSection

gdzie „a” do „i” są macierzą transformacji, jak opisano w innych odpowiedziach.
Źródło: strona man xorg.conf


2

Korzystam z następujących ustawień w Mennicy 17.2 + Cynamon, ale myślę, że działa również w twoim środowisku.

xinput list # to get the id of your mouse
xinput list-props 10 # to list the properties of your mouse
xinput set-prop 10 'Device Accel Profile' -1 # turns off mouseaccel
xinput set-prop 10 'Device Accel Constant Deceleration' 1.5 # settings the sens

Sugeruję, aby najpierw ustawić DPI na myszy (mam do tego przyciski). Następnie możesz zmniejszyć opóźnienie, jeśli nadal masz za niskie wyczucie.

Jeśli wszystko jest w porządku, możesz umieścić to w odpowiednim pliku w systemie, aby załadować ustawienia poprzez uruchomienie. Dla mnie ten plik to ~/.xinputrc.

Kilka informacji o tych właściwościach xinput: http://www.x.org/wiki/Development/Documentation/PointerAcceleration/

(Uwaga: kocham Linuksa! <3 Po „uaktualnieniu” mojego systemu z XP w 2009 roku. Od tamtej pory posiadałem pakiet myszy na Windows 7, bez względu na to, jaką próbę poprawiłem. Zaufaj mi, próbowałem wszystkich. Teraz po 6 latach , Udało mi się to wyłączyć w Linux Mint. :-) Było trochę za późno, przynajmniej częściowo z tego powodu zakończyłem swoją karierę. Oznaczało to -20% dokładności w moim FPS. Grałem więc na 40% zamiast 50-60% acc, co jest umiejętnością o niskiej mediacji zamiast wysokiej. Gra jest już martwa, ale nadal jest wydaniem, w którym nie muszę znosić tej myszki za pomocą systemu operacyjnego.)


0

w Ubuntu 16.04 właściwość mojej myszy to:

Device Accel Constant Deceleration (279)

Domyślnie jest ustawiony na 1.0. Jeśli zwiększysz tę wartość, mysz zwolni.


0

wypróbuj LXInput, tego używam, nie zdawałem sobie sprawy z tego, jakie przyspieszenie i czułość zrobiłem, dopóki nie przeczytałem twojego postu ^ (więc dziękuję!) to jest w standardowym repozytorium dla Ubuntu 16.04. Uwaga: Ustawiam DPI myszy za pośrednictwem Solaar, więc nie jestem pewien, czy Solaar i LXInput oddziałują w sposób, który sprawiłby, że LXInput byłby bezużyteczny. edytuj przepraszam Myślę, że „czułość” i „przyspieszenie” LXInpu różnią się od prędkości. myślę, że „wrażliwość” to wrażliwość przyspieszenia. Przepraszam. Jednak-> Solaar zdecydowanie może być użyty do ustawienia DPI / Speed ​​dla myszy logitech, ale tylko najnowsze z github, nie te z repozytoriów


LXInput to aplikacja GUI dla środowiska lekkiego X11 Desktop Environment (LXDE).

Konfiguruje ustawienia klawiatury i myszy:

  • Opóźnienie i interwał powtarzania znaków * Włącz / wyłącz sygnały dźwiękowe błędu wprowadzania z klawiatury * Zamień lewy i prawy przycisk myszy * Przyspieszenie i czułość myszy

0.3.5-1 Ubuntu

406,5 kB

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.