Одним из неприятных недостатков Emacs является его странно сломанный механизм прокрутки на OSX с «прокруткой по инерции». Похоже, что после многих копаний настоящая проблема заключается в том, что Emacs регистрирует ключи для прокрутки колесика мыши только с одним, двумя или тремя приращениями, то есть wheel-up|down
, double-wheel-up|down
и triple-wheel-up|down
.
Однако трекпад Mac, по-видимому, генерирует гораздо большие приращения прокрутки при быстрой прокрутке. Итак, есть ли способ генерировать более точные сообщения прокрутки, которые фактически отражают количество прокрутки трекпада?
Я использую Emacs 24.0.92 из http://emacsformacosx.com/.
Соответствующие .emacs
настройки:
(setq redisplay-dont-pause t)
(setq mouse-wheel-progressive-speed nil)
В конечном итоге, я бы хотел получить что-то вроде этого:
(defun up-single () (interactive) (scroll-up 1))
(defun up-double () (interactive) (scroll-up 2))
(defun up-triple () (interactive) (scroll-up 3))
...
(global-set-key [wheel-down] 'up-single)
(global-set-key [double-wheel-down] 'up-double)
(global-set-key [triple-wheel-down] 'up-triple)
...