I have found something that makes it feel linear, finally.

doas wsconsctl mouse.tp.deceleration=0

With the following patch. Maybe this does the same thing as your mouse0.param suggestion? Although I didn't touch the x/y hysteresis values (34/35).

diff --git sbin/wsconsctl/mouse.c sbin/wsconsctl/mouse.c
index e04642dacbc..0f1594e17e0 100644
--- sbin/wsconsctl/mouse.c
+++ sbin/wsconsctl/mouse.c
@@ -61,6 +61,7 @@ struct field mouse_field_tab[] = {
     { "tp.swapsides",          &cfg_swapsides, FMT_CFG,        FLG_NORDBACK },      { "tp.disable",            &cfg_disable, FMT_CFG,        FLG_NORDBACK },
     { "tp.edges",              &cfg_edges, FMT_CFG,        FLG_NORDBACK },
+    { "tp.deceleration",       &cfg_decel, FMT_CFG,        FLG_NORDBACK },
     { "tp.param",              &cfg_param, FMT_CFG,        FLG_WRONLY },
     /* Add an alias.  This field is valid for all wsmouse devices. */
     { "param",                 &cfg_param, FMT_CFG,        FLG_WRONLY },
diff --git sbin/wsconsctl/mousecfg.c sbin/wsconsctl/mousecfg.c
index 6d52bcbfc9c..6162df5c229 100644
--- sbin/wsconsctl/mousecfg.c
+++ sbin/wsconsctl/mousecfg.c
@@ -109,6 +109,12 @@ struct wsmouse_parameters cfg_revscroll = {
        1
 };

+struct wsmouse_parameters cfg_decel = {
+       (struct wsmouse_param[]) {
+           { WSMOUSECFG_DECELERATION, 0 }, },
+       1
+};
+
 struct wsmouse_parameters cfg_param = {
        (struct wsmouse_param[]) {
            { -1, 0 },
diff --git sbin/wsconsctl/mousecfg.h sbin/wsconsctl/mousecfg.h
index 8e99139d280..97ef153fcb3 100644
--- sbin/wsconsctl/mousecfg.h
+++ sbin/wsconsctl/mousecfg.h
@@ -22,6 +22,7 @@ extern struct wsmouse_parameters cfg_edges;
 extern struct wsmouse_parameters cfg_swapsides;
 extern struct wsmouse_parameters cfg_disable;
 extern struct wsmouse_parameters cfg_revscroll;
+extern struct wsmouse_parameters cfg_decel;
 extern struct wsmouse_parameters cfg_param;
 extern int cfg_touchpad;


On 10/14/20 2:12 PM, Ulf Brosziewski wrote:
Could you tell us why it feels weird?

If you are really serious about a completely "linear" response, you might
want to try
     $ doas wsconsctl mouse0.param=34:0,35:0,36:0
This turns off noise filtering and deceleration (very low speeds are slowed
down even further, which may be helpful if you want to hit a 1-pixel window
border, for example).  What remains is the filtering performed by the firmware,
which may be decent nowadays, or not.


On 10/14/20 8:22 AM, Brennan Vincent wrote:
On 10/14/20 1:49 AM, Otto Moerbeek wrote:
On Tue, Oct 13, 2020 at 11:38:11PM -0400, Brennan Vincent wrote:

Hello,

I am using the wsmouse driver with x11, and no amount of googling or reading
man pages has helped me figure out how to disable acceleration and have
completely flat/linear response. Is this possible?

I know that I can change sensitivity with `mouse.tp.scaling=<whatever>`, but
I don't think this affects acceleration.


Check xset (and maybe xinput, but I;ve never used that).

     -Otto
Thanks. `xinput --set-prop /dev/wsmouse0 'Device Accel Profile' -1` seems to 
have made things a lot better, although it still feels a bit weird. I could 
just be imagining it.

Anyway, thanks for the pointers!



Reply via email to