diff --git a/kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp b/kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp --- a/kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp +++ b/kcms/mouse/backends/x11/x11_libinput_dummydevice.cpp @@ -86,7 +86,17 @@ _data = nullptr; - if (type_return != XA_INTEGER || !data || format_return != 8 || num_items_return != 1) { + if (type_return != XA_INTEGER || !data || format_return != 8) { + return; + } + if (num_items_return != 1) { + Atom accel = XInternAtom(dpy, LIBINPUT_PROP_ACCEL_PROFILE_ENABLED, True); + if (num_items_return == 2 && valAtom == accel) { + unsigned char sendVal[2] = { 0 }; + sendVal[val ? 1 : 0] = 1; + XIChangeProperty(dpy, deviceid, valAtom, XA_INTEGER, + 8, XIPropModeReplace, sendVal, 2); + } return; }