Function: viper-parse-mouse-key
viper-parse-mouse-key is a byte-compiled function defined in
viper-mous.el.gz.
Signature
(viper-parse-mouse-key KEY-VAR EVENT-TYPE)
Source Code
;; Defined in /usr/src/emacs/lisp/emulation/viper-mous.el.gz
;; The key is of the form (MODIFIER ... BUTTON-NUMBER)
;; Converts into a valid mouse button spec for the appropriate version of
;; Emacs. EVENT-TYPE is either `up' or `down'. Up returns button-up key; down
;; returns button-down key.
(defun viper-parse-mouse-key (key-var event-type)
(let ((key (symbol-value key-var))
button-spec meta-spec shift-spec control-spec)
(if (null key)
;; just return nil
()
(setq button-spec
(cond ((memq 1 key)
(if (eq 'up event-type)
"mouse-1" "down-mouse-1"))
((memq 2 key)
(if (eq 'up event-type)
"mouse-2" "down-mouse-2"))
((memq 3 key)
(if (eq 'up event-type)
"mouse-3" "down-mouse-3"))
(t (error
"%S: invalid button number, %S" key-var key)))
meta-spec
(if (memq 'meta key) "M-" "")
shift-spec
(if (memq 'shift key) "S-" "")
control-spec
(if (memq 'control key) "C-" ""))
(vector
(intern (concat control-spec meta-spec
shift-spec button-spec))))))