Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c19ccd3b authored by Michael Checo's avatar Michael Checo Committed by Android (Google) Code Review
Browse files

Merge "Add preference toggle for touchpad acceleration setting" into main

parents 7ce118d6 f47182fe
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4775,6 +4775,10 @@
    <string name="trackpad_pointer_speed">Cursor speed</string>
    <!-- Title text for 'Three finger tap' touchpad preference. This preference allows the user to select an action that will trigger when they tap three fingers on a touchpad. [CHAR LIMIT=60] -->
    <string name="three_finger_tap_preference_title">Customise 3-finger tap</string>
    <!-- Title for the 'Touchpad acceleration' preference switch, which dynamically adjusts cursor movement based on speed. [CHAR LIMIT=60] -->
    <string name="touchpad_acceleration_title">Touchpad acceleration</string>
    <!-- Summary text for the 'Touchpad acceleration' preference switch indicating to users that when this switch is enabled, faster movements with your fingers will move the cursor farther. [CHAR LIMIT=NONE] -->
    <string name="touchpad_acceleration_summary">Faster movements on your touchpad will move the cursor farther</string>
    <!-- Title text for mouse pointer color. [CHAR LIMIT=35] -->
    <string name="pointer_fill_style">Pointer color</string>
    <!-- Content description for black pointer fill style. [CHAR LIMIT=60] -->
+7 −0
Original line number Diff line number Diff line
@@ -54,6 +54,13 @@
        settings:controller="com.android.settings.inputmethod.TouchpadThreeFingerTapPreferenceController"
        android:order="37"/>

    <SwitchPreferenceCompat
        android:key="touchpad_acceleration"
        android:title="@string/touchpad_acceleration_title"
        android:summary="@string/touchpad_acceleration_summary"
        settings:controller="com.android.settings.inputmethod.TouchpadAccelerationPreferenceController"
        android:order="38"/>

    <com.android.settings.widget.SeekBarPreference
        android:key="touchpad_pointer_speed"
        android:title="@string/trackpad_pointer_speed"
+56 −0
Original line number Diff line number Diff line
/*
 * Copyright 2025 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.inputmethod;

import android.content.Context;
import android.hardware.input.InputSettings;

import androidx.annotation.NonNull;

import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;

public class TouchpadAccelerationPreferenceController extends TogglePreferenceController {

    public TouchpadAccelerationPreferenceController(@NonNull Context context, @NonNull String key) {
        super(context, key);
    }

    @Override
    public boolean isChecked() {
        return InputSettings.isTouchpadAccelerationEnabled(mContext);
    }

    @Override
    public boolean setChecked(boolean isChecked) {
        InputSettings.setTouchpadAccelerationEnabled(mContext, isChecked);
        return true;
    }

    @Override
    public int getAvailabilityStatus() {
        if (!InputSettings.isPointerAccelerationFeatureFlagEnabled()) {
            return UNSUPPORTED_ON_DEVICE;
        }
        return InputPeripheralsSettingsUtils.isTouchpad() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
    }

    @Override
    public int getSliceHighlightMenuRes() {
        return R.string.menu_key_system;
    }
}