LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - ARM (https://www.linuxquestions.org/questions/slackware-arm-108/)
-   -   Wireless mouse too slow (https://www.linuxquestions.org/questions/slackware-arm-108/wireless-mouse-too-slow-4175614856/)

njathan 10-02-2017 01:08 AM

Wireless mouse too slow
 
Hi,

I am using a wireless mouse on my slackware-arm current (14.2) and its moving too slow. I've read a few posts towards its resolution and implemented them, yet it continues to be slow. The speed seems to have improved, but the acceleration and deceleration are still a major worry. The mouse starts a few ms after i move it, and stops after a few ms after i've stopped. Following is an output of xinput. I have already changed the value of 'libinput Accel Speed" to 1.0, which was 0.0 earlier.

The XFCE setting of "Mouse and Touchpad" does not seem to help much

Code:

bash-4.4$ xinput list
⎡ Virtual core pointer                            id=2        [master pointer  (3)]
⎜  ↳ Virtual core XTEST pointer                      id=4        [slave  pointer  (2)]
⎜  ↳ USB USB Keyboard                                id=7        [slave  pointer  (2)]
⎜  ↳ MOSART Semi. 2.4G Wireless Mouse                id=8        [slave  pointer  (2)]
⎣ Virtual core keyboard                          id=3        [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                    id=5        [slave  keyboard (3)]
    ↳ USB USB Keyboard                                id=6        [slave  keyboard (3)]
    ↳ USB USB Keyboard                                id=9        [slave  keyboard (3)]
bash-4.4$
bash-4.4$ xinput --list-props 8
Device 'MOSART Semi. 2.4G Wireless Mouse':
        Device Enabled (115):        1
        Coordinate Transformation Matrix (116):        1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        libinput Accel Speed (255):        1.000000
        libinput Accel Speed Default (256):        0.000000
        libinput Accel Profiles Available (257):        1, 1
        libinput Accel Profile Enabled (258):        0, 1
        libinput Accel Profile Enabled Default (259):        1, 0
        libinput Natural Scrolling Enabled (251):        0
        libinput Natural Scrolling Enabled Default (252):        0
        libinput Send Events Modes Available (236):        1, 0
        libinput Send Events Mode Enabled (237):        0, 0
        libinput Send Events Mode Enabled Default (238):        0, 0
        libinput Left Handed Enabled (260):        0
        libinput Left Handed Enabled Default (261):        0
        libinput Scroll Methods Available (262):        0, 0, 1
        libinput Scroll Method Enabled (263):        0, 0, 0
        libinput Scroll Method Enabled Default (264):        0, 0, 0
        libinput Button Scrolling Button (265):        2
        libinput Button Scrolling Button Default (266):        2
        libinput Middle Emulation Enabled (267):        0
        libinput Middle Emulation Enabled Default (268):        0
        Device Node (239):        "/dev/input/event0"
        Device Product ID (240):        1578, 16642
        libinput Drag Lock Buttons (253):        <no items>
        libinput Horizontal Scroll Enabled (254):        1
bash-4.4$


Exaga 10-02-2017 01:58 AM

There seems to have been a few people using the 'MOSART Semi. 2.4G Wireless Mouse' device who have faced problems under Linux. I don't have the same mouse so I'm unable to test. However, one solution I found on Google was to do this:

1. Unplug wireless mouse dongle.
2. Run modprobe -r usbhid on the command line.
3. Reconnect wireless mouse dongle again.

ferrari 10-02-2017 03:20 AM

Does /usr/lib/udev/hwdb.d/70-mouse.hwdb exist? I ask because I'm not sure if Slackware 42.2 has eudev configured to use the hardware database. If the hardware database does exist then it may be possible to create an entry and specify a suitable DPI value for your mouse (and hence influence its effective speed/behaviour with libinput).

The entries look like this...
Code:

# Logitech Wireless Mouse M310
mouse:usb:v046dp1024:name:Logitech M310:
MOUSE_DPI=1100@168

where 1100 is the DPI value and 168 is the sample frequency in Hz

http://man7.org/linux/man-pages/man7/hwdb.7.html

There is a 'mouse-dpi-tool' utility which can be used to estimate DPI for your mouse by moving the mouse over a certain physical distance. It also reports the sample frequency of the mouse hardware.

I apologize in advance if this approach can't be used with Slackware, (but good if it can).

slackartist 10-02-2017 07:07 PM

ive had these saved from when i fiddled with it from the archwiki pages

Code:

lsusb -v | grep -e idProduct -e idVendor
xset q | grep -A 1 Pointer
xset m acceleration threshold
xset m default

i really stopped using it due to not wanting to stay on fps games forever so. but yeah i think you could very well fine tune it with xset. YMMV

actually it was a rts game i wanted to bump up a bit before i found my notes so yeah good luck

njathan 10-03-2017 01:44 AM

@Exaga tried doesn't work
@ferrari
looking at the preset values for other vendor mice, mine seems dismal figures, yet tried and failed to see any improvement...
Code:

root@slackpi:~# mouse-dpi-tool /dev/input/event2
Mouse MOSART Semi. 2.4G Wireless Mouse on /dev/input/event2
Move the device 250mm/10in or more along the x-axis.
Pause 3 seconds before movement to reset, Ctrl+C to exit.
Covered distance in device units:      638 at frequency 31.4Hz        /^C
Estimated sampling frequency: 31Hz (mean 31Hz)
To calculate resolution, measure physical distance covered
and look up the matching resolution in the table below
      40mm            1.59in            400dpi
      27mm            1.06in            600dpi
      20mm            0.80in            800dpi
      16mm            0.64in            1000dpi
      13mm            0.53in            1200dpi
      11mm            0.46in            1400dpi
      10mm            0.40in            1600dpi
      9mm            0.35in            1800dpi
      8mm            0.32in            2000dpi
      7mm            0.29in            2200dpi
      6mm            0.27in            2400dpi
If your resolution is not in the list, calculate it with:
        resolution=638/inches, or
        resolution=638 * 25.4/mm

Entry for hwdb match (replace XXX with the resolution in DPI):
mouse:usb:v062ap4102:name:MOSART Semi. 2.4G Wireless Mouse:
 MOUSE_DPI=XXX@31
root@slackpi:~#

Added following in the hwdb file (70-mouse.hwdb)
Code:

#Mosart wireless mouse
mouse:usb:v062ap4102:name:MOSART Semi. 2.4G Wireless Mouse:
 MOUSE_DPI=64@31

edit: I my have calculated the dpi wrong.. and from the instructions i can't seem to understand the correct way

@slackartist
tried quite a few values for accelearation and threshold (upto 10/1 0 ), no luck

ferrari 10-03-2017 03:28 AM

That does seem very low! Since you report that the mouse is too slow, you could try increasing it a bit eg 100. That should increase the effective speed. There is a trade-off with accuracy, so don't be tempted to increase it too much.

Code:

#Mosart wireless mouse
mouse:usb:v062ap4102:name:MOSART Semi. 2.4G Wireless Mouse:
MOUSE_DPI=100@31

A bit of info explaining how mice work and DPI values...
https://www.howtogeek.com/182702/mou...er-for-gaming/

Quote:

DPI Explained

Dots per inch (DPI) is a measurement of how sensitive a mouse is. The higher a mouse’s DPI, the farther the cursor on your screen will move when you move the mouse. A mouse with a higher DPI setting detects and reacts to smaller movements.

A higher DPI isn’t always better. You don’t want your mouse cursor to fly all the way across the screen when you move your mouse a little bit. On the other hand, a higher DPI setting helps your mouse detect and respond to smaller movements so you can point at things more accurately. For example, let’s say you’re playing a first-person shooter game. When zooming in with a sniper rifle and trying to aim precisely at small targets, a high DPI could be valuable by allowing you to smoothly aim with small mouse movements. When playing the game normally without a zoomed-in sniper rifle, this high DPI may be too sensitive. This is why many high-end gaming mouse have buttons that you can flick to switch between DPI settings on the fly when playing a game.

ferrari 10-03-2017 03:39 AM

I know little about eudev (other than it's a alternative to systemd-based udev), but hopefully these commands are compatible. After making changes to the the hardware database file, it can be updated (as root) using....

Code:

udevadm hwdb --update
Code:

udevadm trigger
It might be simplest to reboot, and then check mouse speed again.

ferrari 10-03-2017 03:48 AM

Taking care to use the appropriate device path pertaining to your mouse (eg /dev/input/event2), check that the DPI settings do match what you've set...
Code:

udevadm info /dev/input/event2 | grep MOUSE_DPI

njathan 10-03-2017 09:17 AM

Quote:

Originally Posted by ferrari (Post 5765663)
That does seem very low! Since you report that the mouse is too slow, you could try increasing it a bit eg 100. That should increase the effective speed.

I think my DPI calculation is mistaken (hence edited my post #5)
I connected my K400 keyboard and tried the same with the touchpad (opened gimp to move mouse roughly 10 inches on its scale) and it gave me similar DPI values @125 Hz. The K400 touchpad is however working perfectly.

Can you help me the calculation for K400+ for comparison (I am not sure if the same tool can be used for touchpads too, i assume yes)?

Code:

root@slackpi:~# mouse-dpi-tool /dev/input/event0
Mouse Logitech K400 Plus on /dev/input/event0
Move the device 250mm/10in or more along the x-axis.
Pause 3 seconds before movement to reset, Ctrl+C to exit.
Covered distance in device units:      700 at frequency 128.2Hz /      \^C
Estimated sampling frequency: 128Hz (mean 70Hz)
WARNING: Max frequency is more than 30% higher than mean frequency. Manual verification required!
To calculate resolution, measure physical distance covered
and look up the matching resolution in the table below
      44mm            1.75in            400dpi
      29mm            1.17in            600dpi
      22mm            0.88in            800dpi
      17mm            0.70in            1000dpi
      14mm            0.58in            1200dpi
      12mm            0.50in            1400dpi
      11mm            0.44in            1600dpi
      9mm            0.39in            1800dpi
      8mm            0.35in            2000dpi
      8mm            0.32in            2200dpi
      7mm            0.29in            2400dpi
If your resolution is not in the list, calculate it with:
        resolution=700/inches, or
        resolution=700 * 25.4/mm

Entry for hwdb match (replace XXX with the resolution in DPI):
mouse:usb:v046dp404d:name:Logitech K400 Plus:
 MOUSE_DPI=XXX@128
root@slackpi:~#


njathan 10-03-2017 09:33 AM

Quote:

Originally Posted by ferrari (Post 5765663)
That does seem very low! Since you report that the mouse is too slow, you could try increasing it a bit eg 100. That should increase the effective speed. There is a trade-off with accuracy, so don't be tempted to increase it too much.


I've tried increasing to 100, then tried 400.. there is no noticable change...

Exaga 10-03-2017 11:48 AM

Quote:

Originally Posted by njathan (Post 5765760)
I've tried increasing to 100, then tried 400.. there is no noticable change...

Save yourself some heartache and buy another mouse. This one sounds like a world of pain.

ferrari 10-03-2017 12:53 PM

Quote:

I've tried increasing to 100, then tried 400.. there is no noticable change...
Just to confirm that you've run the udevadm commands I gave after making the change and confirmed the mouse DPI settings (as per post #7 and #8), or at least rebooted then tested again?

njathan 10-04-2017 03:17 AM

Quote:

Originally Posted by ferrari (Post 5765845)
Just to confirm that you've run the udevadm commands I gave after making the change and confirmed the mouse DPI settings (as per post #7 and #8), or at least rebooted then tested again?

Yes, i've used the udevadm commands each time i changed the values

ferrari 10-04-2017 02:26 PM

Can you conirm that the DPI value then reported as you set it? eg for /dev/input/event2...
Code:

udevadm info /dev/input/event2 | grep MOUSE_DPI

njathan 10-05-2017 08:47 AM

Quote:

Originally Posted by ferrari (Post 5766264)
Can you conirm that the DPI value then reported as you set it? eg for /dev/input/event2...
Code:

udevadm info /dev/input/event2 | grep MOUSE_DPI

Code:

root@slackpi:~# udevadm info /dev/input/event1 | grep MOUSE_DPI
E: MOUSE_DPI=400@31
root@slackpi:~#



All times are GMT -5. The time now is 02:30 AM.