Function: hmouse-shifted-setup
hmouse-shifted-setup is an interactive and byte-compiled function
defined in hmouse-sh.el.
Signature
(hmouse-shifted-setup MIDDLE-FLAG)
Documentation
Call hmouse-install instead of this and see its documentation.
When non-nil MIDDLE-FLAG bind the middle and right mouse keys as Action and Assist Keys, respectively.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hmouse-sh.el
(defun hmouse-shifted-setup (middle-flag)
"Call `hmouse-install' instead of this and see its documentation.
When non-nil MIDDLE-FLAG bind the middle and right mouse keys as
Action and Assist Keys, respectively."
(interactive)
;; Do nothing when running in batch mode.
(unless noninteractive
(or hmouse-bindings-flag hmouse-previous-bindings
(setq hmouse-previous-bindings (hmouse-get-bindings middle-flag)))
(when middle-flag (hmouse-unshifted-setup middle-flag))
;; Ensure Gillespie's Info mouse support is off since
;; Hyperbole handles that.
(when (boundp 'Info-mouse-support) (setq Info-mouse-support nil))
;;
;; This event setting from the "kmacro.el" library can
;; trigger an autoload that binds [S-mouse-3] to 'kmacro-end-call-mouse,
;; interfering with the same key used for the Assist Key, so disable
;; this.
(setq kmacro-call-mouse-event nil)
;;
(setq hmouse-set-point-command #'hmouse-move-point-emacs)
(if (eq window-system 'dps)
;; NEXTSTEP offers only 2 shift-mouse buttons which we use as the Smart Keys.
(progn
(hmouse-bind-shifted-key-emacs 1 #'action-key-depress-emacs #'action-mouse-key-emacs)
(hmouse-bind-shifted-key-emacs 2 #'assist-key-depress-emacs #'assist-mouse-key-emacs))
;; X, macOS or MS Windows
(hmouse-bind-shifted-key-emacs 2 #'action-key-depress-emacs #'action-mouse-key-emacs)
(hmouse-bind-shifted-key-emacs 3 #'assist-key-depress-emacs #'assist-mouse-key-emacs)
(with-eval-after-load "company"
(define-key company-active-map [S-down-mouse-2] 'ignore)
(define-key company-active-map [S-mouse-2] 'smart-company-to-definition)
(define-key company-active-map [S-down-mouse-3] 'ignore)
(define-key company-active-map [S-mouse-3] 'smart-company-help)))
(setq hmouse-bindings (hmouse-get-bindings middle-flag)
hmouse-bindings-flag t)))