Androidでは、タップを「長押し」と判定する時間を設定から調整が可能です。ただし、選択できるのは3段階のみであり、更にその3段階の幅もかなり広く、好みの設定にならないという方も多いはず。
しかし、ADBコマンドを使用することで1ms単位で調整が可能です。長押しの判定に違和感がある方はぜひ試してみてください。
今回使用する設定値(long_press_timeout)は昔からあるようなので、おそらく古いAndroid端末でも同様に使用できると思われます。
設定から変更できる3段階は幅が広すぎる
長押しの時間調整はAndroid標準で設定項目が用意されており、「ユーザー補助」→「タイミングの調整」→「長押しする時間」から設定が可能なのですが…。
以下のように、選択できる3段階の判定時間の幅が大きすぎて、好みに応じて微調整なんてことは不可能です。
実際に使ってみるとわかるのですが、タッチ操作における600ms(0.6秒)の差はかなり長く、比較すると以下のような感じ。
実際に設定して使ってみるとよりわかりやすいです。
スポンサーリンク
ADBコマンドで細く設定
幸いなことに、ADBコマンドを使用することで長押しの判定時間を1ms単位で調整可能です。
なお、ADBコマンドの使用方法については、こちらの記事を参考にしてください。
実行するコマンド
コマンドは以下です。最後のxxxを任意の値に置き換えて実行します。
adb shell settings put secure long_press_timeout xxx
xxx:任意の時間(単位:ms)に置き換え
これで設定完了です。設定は即時反映なので、実際に試しつつ好みの値に調整しましょう。
ただし、稀に設定が反映されないことがあるようです。その場合は再起動を行いましょう。
100ms変えるだけでも体感の差は大きい
私は「短め」では誤反応が多く、「中」だと遅すぎると感じていたので、ひとまず500msに設定してみました。比較が以下。
結構差があるのがわかるかと思います。実際に使ってみると映像よりも差がわかると思います。
最終的に、500msではやや長いと感じたので「450ms」に設定しました。
元に戻す方法
ADBコマンドでも元の値に戻しても良いですが、設定から項目を選択し直すのが一番簡単です。
コメント