Function: hmouse-bind-key-emacs
hmouse-bind-key-emacs is a byte-compiled function defined in
hmouse-sh.el.
Signature
(hmouse-bind-key-emacs MOUSE-KEY-NUMBER DEPRESS-CMD RELEASE-CMD)
Documentation
Ensure MOUSE-KEY-NUMBER (1-5) is bound to DEPRESS-CMD and RELEASE-CMD.
This includes depresses and drags. Mouse key 1 is [\mouse-1], etc.
Use nil as cmd value to unbind a key.
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-sh.el
;;; ************************************************************************
;;; Public functions
;;; ************************************************************************
;; Other mouse event location prefixes to possibly handle:
;; vertical-scroll-bar
;; horizontal-scroll-bar
;; right-divider
;; bottom-divider
;; tab-bar sample Smart Mouse setup
;; (define-key tab-prefix-map [down-mouse-2] #'action-key-depress-emacs)
;; (define-key tab-prefix-map [mouse-2] #'action-mouse-key-emacs)
;; tab-line sample Smart Mouse setup
;; (define-key tab-line-tab-map [tab-line down-mouse-2] #'action-key-depress-emacs)
;; (define-key tab-line-tab-map [tab-line mouse-2] #'action-mouse-key-emacs)
(defun hmouse-bind-key-emacs (mouse-key-number depress-cmd release-cmd)
"Ensure MOUSE-KEY-NUMBER (1-5) is bound to DEPRESS-CMD and RELEASE-CMD.
This includes depresses and drags. Mouse key 1 is [\\`mouse-1'], etc.
Use nil as cmd value to unbind a key."
(hmouse-set-key-list
depress-cmd
(nth (1- mouse-key-number)
'(
([down-mouse-1]
[double-down-mouse-1] [triple-down-mouse-1]
[header-line down-mouse-1]
[left-fringe down-mouse-1]
[right-fringe down-mouse-1]
[vertical-line down-mouse-1]
[mode-line down-mouse-1])
([down-mouse-2]
[double-down-mouse-2] [triple-down-mouse-2]
[header-line down-mouse-2]
[left-fringe down-mouse-2]
[right-fringe down-mouse-2]
[vertical-line down-mouse-2]
[mode-line down-mouse-2])
([down-mouse-3]
[double-down-mouse-3] [triple-down-mouse-3]
[header-line down-mouse-3]
[left-fringe down-mouse-3]
[right-fringe down-mouse-3]
[vertical-line down-mouse-3]
[mode-line down-mouse-3])
([down-mouse-4]
[double-down-mouse-4] [triple-down-mouse-4]
[header-line down-mouse-4]
[left-fringe down-mouse-4]
[right-fringe down-mouse-4]
[vertical-line down-mouse-4]
[mode-line down-mouse-4])
([down-mouse-5]
[double-down-mouse-5] [triple-down-mouse-5]
[header-line down-mouse-5]
[left-fringe down-mouse-5]
[right-fringe down-mouse-5]
[vertical-line down-mouse-5]
[mode-line down-mouse-5]))))
(hmouse-set-key-list
release-cmd
(nth (1- mouse-key-number)
'(
([drag-mouse-1] [mouse-1]
[double-mouse-1] [triple-mouse-1]
[header-line drag-mouse-1]
[header-line mouse-1]
[left-fringe drag-mouse-1]
[left-fringe mouse-1]
[right-fringe drag-mouse-1]
[right-fringe mouse-1]
[vertical-line drag-mouse-1]
[vertical-line mouse-1]
[mode-line drag-mouse-1]
[mode-line mouse-1])
([drag-mouse-2] [mouse-2]
[double-mouse-2] [triple-mouse-2]
[header-line drag-mouse-2]
[header-line mouse-2]
[left-fringe drag-mouse-2]
[left-fringe mouse-2]
[right-fringe drag-mouse-2]
[right-fringe mouse-2]
[vertical-line drag-mouse-2]
[vertical-line mouse-2]
[mode-line drag-mouse-2]
[mode-line mouse-2])
([drag-mouse-3] [mouse-3]
[double-mouse-3] [triple-mouse-3]
[header-line drag-mouse-3]
[header-line mouse-3]
[left-fringe drag-mouse-3]
[left-fringe mouse-3]
[right-fringe drag-mouse-3]
[right-fringe mouse-3]
[vertical-line drag-mouse-3]
[vertical-line mouse-3]
[mode-line drag-mouse-3]
[mode-line mouse-3])
([drag-mouse-4] [mouse-4]
[double-mouse-4] [triple-mouse-4]
[header-line drag-mouse-4]
[header-line mouse-4]
[left-fringe drag-mouse-4]
[left-fringe mouse-4]
[right-fringe drag-mouse-4]
[right-fringe mouse-4]
[vertical-line drag-mouse-4]
[vertical-line mouse-4]
[mode-line drag-mouse-4]
[mode-line mouse-4])
([drag-mouse-5] [mouse-5]
[double-mouse-5] [triple-mouse-5]
[header-line drag-mouse-5]
[header-line mouse-5]
[left-fringe drag-mouse-5]
[left-fringe mouse-5]
[right-fringe drag-mouse-5]
[right-fringe mouse-5]
[vertical-line drag-mouse-5]
[vertical-line mouse-5]
[mode-line drag-mouse-5]
[mode-line mouse-5])))))