求助!android emacs 中触摸屏滑动有的是滚动,有的是选中,这是如何识别的

android-touchscreen

上下滑动在有的buffer是滚动操作,有的是选中操作,请问这是什么判断逻辑呢

不加载配置的启动emacs org-mode滑动是滚动操作,加载自己的配置之后org-mode滑动就变成了选中操作,滚动不了了。可能会是什么原因造成的呢?自定义包有点多,先问下有没有什么排查思路。

如果 Org Mode buffer 中有绑定 down-mouse-1,绑定的命令没有 `ignored-mouse-command’ 这个 symbol property,touch-screen.el 会模拟鼠标操作。

我发现确实evil-commands.el 里面会绑一堆 evil-mouse 命令,在android emacs里面解绑才会比较舒服

(defun evil-from-mouse-to-touch()
  (interactive)
  ;;触屏屏幕和鼠标适配
  ;;原本evil会在down-mouse-1下默认绑定evil-mouse-drag-region
  ;;严重影响触摸屏使用,原来的visual依然可以用键盘实现
  ;;好像这个绑定还是有问题的
  (evil-define-key 'visual 'global
    (kbd "<down-mouse-1>") 'mouse-drag-region)
  ;;(describe-key-briefly (kbd "<down-mouse-1>"))

  (evil-define-key 'normal 'global
    (kbd "<down-mouse-1>") 'mouse-drag-region)
  )
(when (string-equal system-type "android")

    (add-hook 'evil-mode-hook
	      'evil-from-mouse-to-touch
	      )
)

这样就能专属在android里正常滑动了 而且长按依然可以触发选中

1 个赞

evil 可能需要以下补丁:

(put 'evil-mouse-drag-region 'ignored-mouse-command t)