How to Reduce the Long Press Delay Beyond its Lowest Setting
If you’ve skimmed through any of those listicles on a mainstream technology website promising a trick to “greatly improve” your device’s performance, you’ve probably come seen this one a dozen or so times: lower your phone’s animation scale to speed up your phone!
By now, I would think that the vast majority of readers on our forums know about that little trick. Some might argue that it’s placebo, but in my view the trick really does work because it improves your multitasking speed by eliminating time-wasting (yet beautiful) animations.
Yet there is one aspect of your device that some users wish they could change to also improve their multi-tasking speed – the long press delay. The long press delay that I’m referring to is how long it takes for your touch on the screen to register as a touch and hold action. If you frequently find yourself copy/pasting large amounts of text or sharing links with groups of friends, you might find the default long press delay to be a bit too long.
While there is indeed an option to change your long press delay in the Accessibility Settings (what Google calls the “touch and hold delay“), you are only able to increase the delay from its default “short” option. What if you want to speed up the long press delay so you can access long press events more quickly? In that case, we’ve figured out how to do just that. This should work on nearly every Android 4.2+ device, and it doesn’t require root access.
Reduce the Long Press Delay Even Further
As with all system preferences on your device, there’s a table of values that you can access to manually change the settings on your phone via a command line. In our case, we will want to edit the long_press_timeout preference which is defined under the Settings.Secure class.
When you change this value through the “touch and hold delay” dialog in Accessibility settings, it can hold a value of 500, 1,000, and 1,500 milliseconds which corresponds with short, medium, and long respectively. However, we can manually set out own timeout value from the command line. We can put any non-negative integer in this setting, but I recommend that you don’t go below 250ms so you don’t run into a ton of accidental long presses.
In order to edit this setting, you will need to have ADB set up on your computer. First, download the ADB binary straight from Google for your particular OS and extract it to a separate directory on your computer. Next, install the proper driver for your particular phone. Then, enable “USB Debugging” in Settings –> Developer Options. If you don’t see Developer Options, then you will need to enable it by going to Settings –> About Phone then tapping on Build number 7 times. Finally, ensure that ADB is working by starting a command prompt in the same directory as the ADB binary (right-click –> “open command prompt here”) and run the following command:
If you see your device’s serial number (and it doesn’t say unauthorized), you’re golden. If you see a pop-up on your phone asking you to grant your computer ADB access, then say yes. If you don’t see either happen, then try rebooting your computer/phone and re-plugging it into your computer. Otherwise, try re-installing the driver.
Once ADB is set-up, it’s time to modify the setting. All you have to do is enter a single command as follows:
adb shell settings put secure long_press_timeout integer
where “integer” is the long press delay in milliseconds (do not enter any units in the command). Again, I highly recommend you set this to at least 250 so you won’t get a ton of false positive long press actions.
After entering the command, you will need to reboot for it to take effect. Play around with this new long press delay for a bit and see how you like it. If you feel it’s too short, you can increase it some more. If you feel like it’s too long, you can even decrease it some more. It’s totally up to you, but be sensible and try not to put something ridiculous like 1ms.
Try it out and let us know what you’re settling on in the comments below!