diff options
author | Po Lu <luangruo@yahoo.com> | 2021-11-29 15:36:15 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2021-11-29 15:37:41 +0800 |
commit | 618070d4b414c20f19a1f873ffb1d7015743599e (patch) | |
tree | f984709d4e0d906c060008b7aad45dca697dbe1e /src/xterm.c | |
parent | a1aa9cbf57a08f1c17b92b13a2bf07d504684fcc (diff) | |
download | emacs-618070d4b414c20f19a1f873ffb1d7015743599e.tar.gz emacs-618070d4b414c20f19a1f873ffb1d7015743599e.tar.bz2 emacs-618070d4b414c20f19a1f873ffb1d7015743599e.zip |
Allow customizing the pixel delta of wheel events on X
* lisp/cus-start.el: Add `x-scroll-event-delta-factor'.
* src/xterm.c (handle_one_xevent): Apply scroll event
delta factor to wheel events with pixel data.
(Vx_scroll_event_delta_factor): New user option.
Diffstat (limited to 'src/xterm.c')
-rw-r--r-- | src/xterm.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c index 253e0eb20b0..a6d9c8c7a1b 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -10045,6 +10045,9 @@ handle_one_xevent (struct x_display_info *dpyinfo, scroll_unit = pow (FRAME_PIXEL_HEIGHT (f), 2.0 / 3.0); + if (FLOATP (Vx_scroll_event_delta_factor)) + scroll_unit *= XFLOAT_DATA (Vx_scroll_event_delta_factor); + if (val->horizontal) { inev.ie.arg @@ -15217,4 +15220,10 @@ Otherwise, a wheel event will be sent every time the mouse wheel is moved. This option is only effective when Emacs is built with XInput 2, with Haiku windowing support, or with NS. */); x_coalesce_scroll_events = true; + + DEFVAR_LISP ("x-scroll-event-delta-factor", Vx_scroll_event_delta_factor, + doc: /* A scale to apply to pixel deltas reported in scroll events. +This option is only effective when Emacs is built with XInput 2 +support. */); + Vx_scroll_event_delta_factor = make_float (1.0); } |