Android版のEmacsを使っているとすぐに慣性スクロールが無いことに気がつくでしょう。つまり画面をスワイプしてスクロールするときに、弾くように指を離したらそのまましばらく勢いでスクロールが継続して欲しいわけです。これが無いと指を離すたびに「ピタッ」とスクロールが止まるので、何画面分もスクロールしなければならないときにとても疲れます。
これは慣性スクロールを実装しなきゃダメかな……と憂鬱になりながら少し調べてみたところ、pixel-scroll.elに pixel-scroll-*-momentum という名前の変数や関数が存在することに気がつきました。喜び勇んですぐに pixel-scroll-precision-use-momentum を t にして、 pixel-scroll-precision-mode を有効にしてみましたが……あれ、何も変わりません。うーん、どうなっているんだろう。
Googleで検索したら次のredditの投稿が見つかりました。
How to config to enable pixel scroll precision momentum-based scrolling on Android? : r/emacs
おおー、素晴らしい!
というわけで次の設定をしたらちゃんと慣性が働くようになりました。
;; タッチによるスクロールをピクセル単位にする(必要?) (setq touch-screen-precision-scroll t) ;; 慣性スクロールを有効にする ;; https://www.reddit.com/r/emacs/comments/1mtouxh/how_to_config_to_enable_pixel_scroll_precision/ (defun touch-scroll-momentum (_dx dy) (pixel-scroll-accumulate-velocity (- dy))) (advice-add 'touch-screen-handle-scroll :before 'touch-scroll-momentum) ;; (2025-11-14追記:長押しスクロールが効かなくなってしまったので修正) ;;(keymap-global-set "<touchscreen-end>" 'pixel-scroll-start-momentum) (defun my-touch-screen-handle-touch:scroll-end (event &rest _) (when (eq (car event) 'touchscreen-end) (pixel-scroll-start-momentum event))) (advice-add 'touch-screen-handle-touch :before ;;afterではダメ 'my-touch-screen-handle-touch:scroll-end) (setq pixel-scroll-precision-use-momentum t) (pixel-scroll-precision-mode)
ただ、私の環境だとorg-mode文書のスクロールはかなりカクつきます。org-modernやphscrollで色々凝ったことをしているせいかもしれませんが。