diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/LeftClickGesture.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/LeftClickGesture.java
index 38ffef803b..ef93c222bb 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/LeftClickGesture.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/LeftClickGesture.java
@@ -17,7 +17,7 @@ public class LeftClickGesture extends ValidatorGesture {
     private boolean mMouseActivated;
 
     public LeftClickGesture(Handler handler) {
-        super(handler, LauncherPreferences.PREF_LONGPRESS_TRIGGER);
+        super(handler);
     }
 
     public final void inputEvent() {
@@ -27,6 +27,11 @@ public final void inputEvent() {
         }
     }
 
+    @Override
+    protected int getDelayValue() {
+        return LauncherPreferences.PREF_LONGPRESS_TRIGGER;
+    }
+
     @Override
     public boolean checkAndTrigger() {
         boolean fingerStill = LeftClickGesture.isFingerStill(mGestureStartX, mGestureStartY, mGestureEndX, mGestureEndY, FINGER_STILL_THRESHOLD);
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/RightClickGesture.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/RightClickGesture.java
index d24874f7ed..39dfa965fb 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/RightClickGesture.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/RightClickGesture.java
@@ -6,12 +6,12 @@
 
 import org.lwjgl.glfw.CallbackBridge;
 
-public class RightClickGesture extends ValidatorGesture{
+public class RightClickGesture extends ValidatorGesture {
     private boolean mGestureEnabled = true;
     private boolean mGestureValid = true;
     private float mGestureStartX, mGestureStartY, mGestureEndX, mGestureEndY;
     public RightClickGesture(Handler mHandler) {
-        super(mHandler, 150);
+        super(mHandler);
     }
 
     public final void inputEvent() {
@@ -29,6 +29,11 @@ public void setMotion(float deltaX, float deltaY) {
         mGestureEndY += deltaY;
     }
 
+    @Override
+    protected int getDelayValue() {
+        return 150;
+    }
+
     @Override
     public boolean checkAndTrigger() {
         // If the validate() method was called, it means that the user held on for too long. The cancellation should be ignored.
diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/ValidatorGesture.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/ValidatorGesture.java
index 20956d5675..c43817e05b 100644
--- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/ValidatorGesture.java
+++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/mouse/ValidatorGesture.java
@@ -9,16 +9,13 @@
 public abstract class ValidatorGesture implements Runnable{
     private final Handler mHandler;
     private boolean mGestureActive;
-    private final int mRequiredDuration;
 
     /**
      * @param mHandler the Handler that will be used for calling back the checkAndTrigger() method.
      *                 This Handler should run on the same thread as the callee of submit()/cancel()
-     * @param mRequiredDuration the duration after which the class will call checkAndTrigger().
      */
-    public ValidatorGesture(Handler mHandler, int mRequiredDuration) {
+    public ValidatorGesture(Handler mHandler) {
         this.mHandler = mHandler;
-        this.mRequiredDuration = mRequiredDuration;
     }
 
     /**
@@ -28,7 +25,7 @@ public ValidatorGesture(Handler mHandler, int mRequiredDuration) {
      */
     public final boolean submit() {
         if(mGestureActive) return false;
-        mHandler.postDelayed(this, mRequiredDuration);
+        mHandler.postDelayed(this, getDelayValue());
         mGestureActive = true;
         return true;
     }
@@ -54,6 +51,11 @@ public final void run() {
         onGestureCancelled(false);
     }
 
+    /**
+     * @return the duration after which the class will call checkAndTrigger().
+     */
+    protected abstract int getDelayValue();
+
     /**
      * This method will be called after mRequiredDuration milliseconds, if the gesture was not cancelled.
      * @return false if you want to mark this gesture as "inactive"