2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 09:58:08 +00:00

mousepadplugin: allow selecting which click to send for left click

This commit is contained in:
Piyush Aggarwal 2021-07-16 05:55:31 +05:30 committed by Albert Vaca Cintora
parent 9b4c4ff9cb
commit 29ca097054
3 changed files with 28 additions and 2 deletions

View File

@ -59,10 +59,12 @@
<string name="remotekeyboard_multiple_connections" translatable="true">There is more than one remote keyboard connection, select the device to configure</string> <string name="remotekeyboard_multiple_connections" translatable="true">There is more than one remote keyboard connection, select the device to configure</string>
<string name="open_mousepad">Remote input</string> <string name="open_mousepad">Remote input</string>
<string name="mousepad_info">Move a finger on the screen to move the mouse cursor. Tap for a click, and use two/three fingers for right and middle buttons. Use 2 fingers to scroll. Use a long press to drag\'n drop.</string> <string name="mousepad_info">Move a finger on the screen to move the mouse cursor. Tap for a click, and use two/three fingers for right and middle buttons. Use 2 fingers to scroll. Use a long press to drag\'n drop.</string>
<string name="mousepad_single_tap_settings_title">Set one finger tap action</string>
<string name="mousepad_double_tap_settings_title">Set two finger tap action</string> <string name="mousepad_double_tap_settings_title">Set two finger tap action</string>
<string name="mousepad_triple_tap_settings_title">Set three finger tap action</string> <string name="mousepad_triple_tap_settings_title">Set three finger tap action</string>
<string name="mousepad_sensitivity_settings_title">Set touchpad sensitivity</string> <string name="mousepad_sensitivity_settings_title">Set touchpad sensitivity</string>
<string name="mousepad_acceleration_profile_settings_title">Set pointer acceleration</string> <string name="mousepad_acceleration_profile_settings_title">Set pointer acceleration</string>
<string name="mousepad_single_tap_key" translatable="false">mousepad_single_tap_key</string>
<string name="mousepad_double_tap_key" translatable="false">mousepad_double_tap_key</string> <string name="mousepad_double_tap_key" translatable="false">mousepad_double_tap_key</string>
<string name="mousepad_triple_tap_key" translatable="false">mousepad_triple_tap_key</string> <string name="mousepad_triple_tap_key" translatable="false">mousepad_triple_tap_key</string>
<string name="mousepad_sensitivity_key" translatable="false">mousepad_sensitivity_key</string> <string name="mousepad_sensitivity_key" translatable="false">mousepad_sensitivity_key</string>
@ -75,6 +77,7 @@
<item>Middle click</item> <item>Middle click</item>
<item>Nothing</item> <item>Nothing</item>
</string-array> </string-array>
<string name="mousepad_default_single" translatable="false">left</string>
<string name="mousepad_default_double" translatable="false">right</string> <string name="mousepad_default_double" translatable="false">right</string>
<string name="mousepad_default_triple" translatable="false">middle</string> <string name="mousepad_default_triple" translatable="false">middle</string>
<string name="mousepad_default_sensitivity" translatable="false">default</string> <string name="mousepad_default_sensitivity" translatable="false">default</string>

View File

@ -5,6 +5,15 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:keep="@xml/mousepadplugin_preferences"> tools:keep="@xml/mousepadplugin_preferences">
<ListPreference
android:id="@+id/mousepad_single_tap_preference"
android:defaultValue="@string/mousepad_default_single"
android:entries="@array/mousepad_tap_entries"
android:entryValues="@array/mousepad_tap_values"
android:key="@string/mousepad_single_tap_key"
android:summary="%s"
android:title="@string/mousepad_single_tap_settings_title" />
<ListPreference <ListPreference
android:id="@+id/mousepad_double_tap_preference" android:id="@+id/mousepad_double_tap_preference"
android:defaultValue="@string/mousepad_default_double" android:defaultValue="@string/mousepad_default_double"

View File

@ -71,7 +71,7 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
} }
} }
private ClickType doubleTapAction, tripleTapAction; private ClickType singleTapAction, doubleTapAction, tripleTapAction;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -101,6 +101,8 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
} else { } else {
scrollDirection = 1; scrollDirection = 1;
} }
String singleTapSetting = prefs.getString(getString(R.string.mousepad_single_tap_key),
getString(R.string.mousepad_default_single));
String doubleTapSetting = prefs.getString(getString(R.string.mousepad_double_tap_key), String doubleTapSetting = prefs.getString(getString(R.string.mousepad_double_tap_key),
getString(R.string.mousepad_default_double)); getString(R.string.mousepad_default_double));
String tripleTapSetting = prefs.getString(getString(R.string.mousepad_triple_tap_key), String tripleTapSetting = prefs.getString(getString(R.string.mousepad_triple_tap_key),
@ -113,6 +115,7 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
mPointerAccelerationProfile = PointerAccelerationProfileFactory.getProfileWithName(accelerationProfileName); mPointerAccelerationProfile = PointerAccelerationProfileFactory.getProfileWithName(accelerationProfileName);
singleTapAction = ClickType.fromString(singleTapSetting);
doubleTapAction = ClickType.fromString(doubleTapSetting); doubleTapAction = ClickType.fromString(doubleTapSetting);
tripleTapAction = ClickType.fromString(tripleTapSetting); tripleTapAction = ClickType.fromString(tripleTapSetting);
@ -304,7 +307,18 @@ public class MousePadActivity extends AppCompatActivity implements GestureDetect
@Override @Override
public boolean onSingleTapConfirmed(MotionEvent e) { public boolean onSingleTapConfirmed(MotionEvent e) {
BackgroundService.RunWithPlugin(this, deviceId, MousePadPlugin.class, MousePadPlugin::sendLeftClick); switch (singleTapAction) {
case LEFT:
sendLeftClick();
break;
case RIGHT:
sendRightClick();
break;
case MIDDLE:
sendMiddleClick();
break;
default:
}
return true; return true;
} }