diff --git a/kcms/touchpad/kcm/libinput/touchpad.qml b/kcms/touchpad/kcm/libinput/touchpad.qml --- a/kcms/touchpad/kcm/libinput/touchpad.qml +++ b/kcms/touchpad/kcm/libinput/touchpad.qml @@ -237,30 +237,27 @@ } // Acceleration - Controls.Slider { + Controls.SpinBox { Kirigami.FormData.label: i18nd("kcm_touchpad", "Pointer speed:") id: accelSpeed - from: 1 - to: 11 + from: -100 + to: 100 stepSize: 1 + editable: true function load() { enabled = touchpad.supportsPointerAcceleration if (!enabled) { - value = 0.1 + value = 10 return } - // transform libinput's pointer acceleration range [-1, 1] to slider range [1, 11] - value = 6 + touchpad.pointerAcceleration / 0.2 + value = Math.round(touchpad.pointerAcceleration * 100) } onValueChanged: { if (touchpad != undefined && enabled && !root.loading) { - // transform slider range [1, 11] to libinput's pointer acceleration range [-1, 1] - // by *10 and /10, we ignore the floating points after 1 digit. This prevents from - // having a libinput value like 0.60000001 - touchpad.pointerAcceleration = Math.round(((value-6) * 0.2) * 10) / 10 + touchpad.pointerAcceleration = value / 100 root.changeSignal() } } @@ -669,7 +666,7 @@ Kirigami.FormData.buddyFor: rightClickMethodAreas id: rightClickMethod enabled: touchpad.supportsClickMethodAreas && touchpad.supportsClickMethodClickfinger - + spacing: Kirigami.Units.smallSpacing function load() { @@ -736,7 +733,7 @@ Kirigami.FormData.label: i18nd("kcm_touchpad", "Middle-click: ") Kirigami.FormData.buddyFor: middleSoftwareEmulation id: middleClickMethod - + spacing: Kirigami.Units.smallSpacing function load() {