Server: N/A (Windows 10 1809)
Client: N/A (Ubuntu 20.04)
2.2.0 installed via apt
In my specific scenario my server's single display is 2560x1440 and the client's single display is 3840x2160. The mouse "feels" way too slow on the client, assumably because the mouse updates are done in screen pixels. This issue is an enhancement request for mouse position scaling. MVP would be a client parameter configured on the server, but hopefully a conversion factor could be figured (and maybe enabled?) automatically.
When did the problem start to occur?
N/A
Is there a way to work around it?
Trying to adjust mouse speed on the client isn't a good workaround, it doesn't work in Ubuntu 20.04 and it would affect the local mouse as well.
Does this bug prevent you from using Barrier entirely?
No
Today I forgot to bring home my display port to dvi converter. I can't stare at my laptop screen, it's too small. I tried fractional scaling on Ubuntu 20.04 with barrier and it turns out that my mouse becomes slow on the client. Changing the mouse speed doesn't work, it remains slow. This makes fractional scaling unusable for me :(
I ran into the opposite problem. The mouse was too fast on the client. Luckily, my server is linux, so I set up barrier to log to /tmp/barrier.log and then I run the below script. You should be able to tweak the speeds to your liking. Note that you'll need to plug in your mouse and speed property. You may be able to do a similar thing with Windows or macOS as the server if you know how to change the mouse speed via the shell.
#!/usr/bin/env bash
set -eu
# Find with: xinput --list --short
mouse="Kingsis Peripherals Evoluent VerticalMouse D"
# Find with: xinput --list-props $mouse
speed_property="libinput Accel Speed"
server_mouse_speed=0.252669
client_mouse_speed=-0.743772
function finish {
xinput --set-prop "$mouse" "$speed_property" "$server_mouse_speed"
}
trap finish EXIT
tail -F -n0 /tmp/barrier.log | while read line
do
if [[ "$line" == *"leaving screen" ]]; then
xinput --set-prop "$mouse" "$speed_property" "$client_mouse_speed"
elif [[ "$line" == *"entering screen" ]]; then
xinput --set-prop "$mouse" "$speed_property" "$server_mouse_speed"
fi
done
@aaronjensen That hack is evil and I love it. Regretfully, I have to have the server running on the Windows machine and I'm not feeling bullish about scripting mouse speeds on Windows.
Would love this, my barrier host is on 1080p and my client is 4k so the mouse moves very slow on the client.
I have the same issue, the mouse on the client(mac) is too fast and i'm on the windows server, hope to see some updates soon.
+1 mouse speed settings per client would be awesome 馃挴
@hovissimo I've ported @aaronjensen's wonderful hack to PowerShell: https://gist.github.com/psignoret/32cecc507fba2508d05f4672fe52eeb2. Example usage:
.\BarrierMouseSpeedFix.ps1 -ClientMouseSpeed 3 -LogFile "C:\tmp\barrier.log"
I ran into the opposite problem. The mouse was too fast on the client. Luckily, my server is linux, so I set up barrier to log to
/tmp/barrier.logand then I run the below script. You should be able to tweak the speeds to your liking. Note that you'll need to plug in your mouse and speed property. You may be able to do a similar thing with Windows or macOS as the server if you know how to change the mouse speed via the shell.#!/usr/bin/env bash set -eu # Find with: xinput --list --short mouse="Kingsis Peripherals Evoluent VerticalMouse D" # Find with: xinput --list-props $mouse speed_property="libinput Accel Speed" server_mouse_speed=0.252669 client_mouse_speed=-0.743772 function finish { xinput --set-prop "$mouse" "$speed_property" "$server_mouse_speed" } trap finish EXIT tail -F -n0 /tmp/barrier.log | while read line do if [[ "$line" == *"leaving screen" ]]; then xinput --set-prop "$mouse" "$speed_property" "$client_mouse_speed" elif [[ "$line" == *"entering screen" ]]; then xinput --set-prop "$mouse" "$speed_property" "$server_mouse_speed" fi done
I added an extra:
elif [[ "$line" == *"can't leave screen" ]]; then
xinput --set-prop "$mouse" "$speed_property" "$server_mouse_speed"
because gnome will trap the cursor when i'm interacting with the interface. It takes a little less then a second to work, tho.
I, too, love this terrible hack. Does anybody have an equivalent one for when the server is running on macOS?
Most helpful comment
I ran into the opposite problem. The mouse was too fast on the client. Luckily, my server is linux, so I set up barrier to log to
/tmp/barrier.logand then I run the below script. You should be able to tweak the speeds to your liking. Note that you'll need to plug in your mouse and speed property. You may be able to do a similar thing with Windows or macOS as the server if you know how to change the mouse speed via the shell.