cooper@nunki.steinmetz.ge.com (Clark Cooper) (01/04/90)
The following function will display the current X Windows mouse button bindings in the help window: (defun x-mouse-button-help () "Display mouse button bindings" (interactive) (if (getenv "DISPLAY") (let ((mods 0) (hbuff (set-buffer "*Help*")) (tab-stop-list '(25))) (delete-region (point-min) (point-max)) (insert "The following mouse buttons are bound:\n\n") (while (< mods 8) (let ((modifiers (if (= (logand mods 4) 4) "Control-" "")) (button '("Right" "Middle" "Left")) (mn (* mods 16)) (bn 0)) (if (= (logand mods 2) 2) (setq modifiers (concat modifiers "Meta-"))) (if (= (logand mods 1) 1) (setq modifiers (concat modifiers "Shift-"))) (while (< bn 3) (let ((binding (aref mouse-map (+ mn bn)))) (if (and binding (not (eq binding 'x-mouse-ignore))) (progn (insert "\n") (insert modifiers) (insert (nth bn button)) (tab-to-tab-stop) (insert (symbol-name binding))))) (setq bn (+ bn 1))) (setq mods (+ mods 1)))) (display-buffer hbuff)))) -- =================================================================== Clark Cooper GE Corporate R&D cooper@nunki.crd.ge.com (518) 387-5887 P.O. Box 8 / K-1 4C31 coopercc@crdgw1.ge.com Schenectady, NY 12301 ...!uunet!crdgw1!coopercc