emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/osm 2ba02faed5 2/2: Fix zooming when the mouse pointer


From: ELPA Syncer
Subject: [elpa] externals/osm 2ba02faed5 2/2: Fix zooming when the mouse pointer is over a pin
Date: Sun, 29 Sep 2024 03:58:49 -0400 (EDT)

branch: externals/osm
commit 2ba02faed5d57da97c1f6e13df36091d68ddefee
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    Fix zooming when the mouse pointer is over a pin
    
    Co-authored-by: Michael Heerdegen <michael_heerdegen@web.de>
---
 osm.el | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/osm.el b/osm.el
index 79a531f2b6..0505615792 100644
--- a/osm.el
+++ b/osm.el
@@ -242,6 +242,16 @@ Should be at least 7 days according to the server usage 
policies."
            (funcall menu)
          menu))))
 
+(defun osm--mouse-ignore-wheel (_prompt)
+  "Ignore mouse wheel events during key translation."
+  (pcase (this-single-command-raw-keys)
+    ((and `[,e]
+          (let y (event-basic-type e))
+          (guard (symbolp y))
+          (guard (string-search "wheel-" (symbol-name y))))
+     [])
+    (k k)))
+
 (defvar-keymap osm-prefix-map
   :doc "Global prefix map of OSM entry points."
   "h" #'osm-home
@@ -258,11 +268,6 @@ Should be at least 7 days according to the server usage 
policies."
 (defvar-keymap osm-mode-map
   :doc "Keymap used by `osm-mode'."
   :parent (make-composed-keymap osm-prefix-map special-mode-map)
-  "<osm-selected>" #'osm-mouse-select
-  "<osm-bookmark>" #'osm-mouse-select
-  "<osm-home>" #'osm-mouse-select
-  "<osm-poi>" #'osm-mouse-select
-  "<osm-track>" #'osm-mouse-select
   "<home>" #'osm-home
   "+" #'osm-zoom-in
   "-" #'osm-zoom-out
@@ -310,6 +315,11 @@ Should be at least 7 days according to the server usage 
policies."
   "<" nil
   ">" nil)
 
+(dolist (pin osm-pin-colors)
+  (setq pin (vector (car pin)))
+  (define-key key-translation-map pin #'osm--mouse-ignore-wheel)
+  (define-key osm-mode-map pin #'osm-mouse-select))
+
 (easy-menu-define osm-mode-menu osm-mode-map
   "Menu for `osm-mode'."
   '("OSM"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]