comparison lisp/hyperbole/hmouse-reg.el @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents 4103f0995bd7
children 4be1180a9e89
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
4 ;; SUMMARY: System-dependent Smart Mouse Key bindings (no shift key). 4 ;; SUMMARY: System-dependent Smart Mouse Key bindings (no shift key).
5 ;; USAGE: GNU Emacs Lisp Library 5 ;; USAGE: GNU Emacs Lisp Library
6 ;; KEYWORDS: hypermedia, mouse 6 ;; KEYWORDS: hypermedia, mouse
7 ;; 7 ;;
8 ;; AUTHOR: Bob Weiner 8 ;; AUTHOR: Bob Weiner
9 ;; ORG: InfoDock Associates 9 ;; ORG: Brown U.
10 ;; 10 ;;
11 ;; ORIG-DATE: 3-Sep-91 at 21:40:58 11 ;; ORIG-DATE: 3-Sep-91 at 21:40:58
12 ;; LAST-MOD: 21-Feb-97 at 18:02:33 by Bob Weiner 12 ;; LAST-MOD: 14-Sep-95 at 18:39:04 by Bob Weiner
13 ;;
14 ;; This file is part of Hyperbole.
15 ;; Available for use and distribution under the same terms as GNU Emacs.
16 ;;
17 ;; Copyright (C) 1991-1997, Free Software Foundation, Inc.
18 ;; Developed with support from Motorola Inc.
19
20 ;;; ************************************************************************ 13 ;;; ************************************************************************
21 ;;; Public functions 14 ;;; Public functions
22 ;;; ************************************************************************ 15 ;;; ************************************************************************
23 16
24 (defun hmouse-get-bindings () 17 (defun hmouse-get-bindings ()
25 "Returns list of bindings for mouse keys prior to their use as Smart Keys." 18 "Returns list of bindings for mouse keys prior to their use as Smart Keys."
26 ;; Do nothing when running in batch mode. 19 (eval
27 (if noninteractive 20 (cdr (assoc
28 nil 21 ;; Get mouse bindings under Emacs 19 or XEmacs, even if not under a
29 (eval 22 ;; window system since it can have frames on ttys and windowed
30 (cdr (assoc 23 ;; displays at the same time.
31 ;; Get mouse bindings under Emacs 19 or XEmacs, even if not under a 24 (or hyperb:window-system
32 ;; window system since it can have frames on ttys and windowed 25 (and (not noninteractive) hyperb:xemacs-p "lemacs")
33 ;; displays at the same time. 26 (and (not noninteractive) hyperb:emacs19-p "emacs19"))
34 (or (and hyperb:xemacs-p "lemacs") 27 '(("emacs19" .
35 (and hyperb:emacs19-p "emacs19") 28 (mapcar (function
36 hyperb:window-system) 29 (lambda (key) (cons key (lookup-key global-map key))))
37 '(("emacs19" . 30 (if (memq window-system '(ns dps))
38 (mapcar (function 31 ;; NEXTSTEP offers only 2 mouse buttons which we use
39 (lambda (key) (cons key (lookup-key global-map key)))) 32 ;; as the Smart Keys. We move the mouse-set-point
40 (if (memq window-system '(ns dps)) 33 ;; command to shift-left.
41 ;; NEXTSTEP offers only 2 mouse buttons which we use 34 '([down-mouse-1] [mouse-1] [down-mouse-2] [mouse-2]
42 ;; as the Smart Keys. We move the mouse-set-point 35 [double-mouse-1] [triple-mouse-1]
43 ;; command to shift-left.
44 '([down-mouse-1] [mouse-1] [down-mouse-2] [mouse-2]
45 [double-mouse-1] [triple-mouse-1]
46 [double-mouse-2] [triple-mouse-2]
47 [vertical-line down-mouse-1] [vertical-line mouse-1]
48 [vertical-line down-mouse-2] [vertical-line mouse-2]
49 [mode-line down-mouse-1] [mode-line mouse-1]
50 [mode-line down-mouse-2] [mode-line mouse-2]
51 [S-mouse-1]
52 )
53 ;; X
54 '([down-mouse-2] [mouse-2] [down-mouse-3] [mouse-3]
55 [double-mouse-2] [triple-mouse-2] 36 [double-mouse-2] [triple-mouse-2]
56 [double-mouse-3] [triple-mouse-3] 37 [vertical-line down-mouse-1] [vertical-line mouse-1]
57 [vertical-line down-mouse-2] [vertical-line mouse-2] 38 [vertical-line down-mouse-2] [vertical-line mouse-2]
58 [vertical-line down-mouse-3] [vertical-line mouse-3] 39 [mode-line down-mouse-1] [mode-line mouse-1]
59 [mode-line down-mouse-2] [mode-line mouse-2] 40 [mode-line down-mouse-2] [mode-line mouse-2]
60 [mode-line down-mouse-3] [mode-line mouse-3] 41 [S-mouse-1]
61 )))) 42 )
62 ("lemacs" . 43 ;; X
63 (nconc 44 '([down-mouse-2] [mouse-2] [down-mouse-3] [mouse-3]
64 (mapcar (function 45 [double-mouse-2] [triple-mouse-2]
65 (lambda (key) 46 [double-mouse-3] [triple-mouse-3]
66 (cons key (lookup-key global-map key)))) 47 [vertical-line down-mouse-2] [vertical-line mouse-2]
67 '([button2] [button2up] [button3] [button3up])) 48 [vertical-line down-mouse-3] [vertical-line mouse-3]
68 (if (boundp 'mode-line-map) 49 [mode-line down-mouse-2] [mode-line mouse-2]
69 (mapcar (function 50 [mode-line down-mouse-3] [mode-line mouse-3]
70 (lambda (key) 51 ))))
71 (cons key (lookup-key mode-line-map key)))) 52 ("lemacs" .
72 '([button3] [button3up]))))) 53 (nconc
73 ("xterm" . 54 (mapcar (function
74 (mapcar (function 55 (lambda (key)
75 (lambda (key) (cons key (lookup-key mouse-map key)))) 56 (cons key (lookup-key global-map key))))
76 (list x-button-middle x-button-middle-up 57 '([button2] [button2up] [button3] [button3up]))
77 x-button-right x-button-right-up))) 58 (if (boundp 'mode-line-map)
78 ("epoch" . 59 (mapcar (function
79 (mapcar (function 60 (lambda (key)
80 (lambda (key) (cons key (aref mouse::global-map key)))) 61 (cons key (lookup-key mode-line-map key))))
81 (list (mouse::index mouse-middle mouse-down) 62 '([button3] [button3up])))))
82 (mouse::index mouse-middle mouse-up) 63 ("xterm" .
83 (mouse::index mouse-right mouse-down) 64 (mapcar (function
84 (mouse::index mouse-right mouse-up) 65 (lambda (key) (cons key (lookup-key mouse-map key))))
85 ;; Modeline mouse map 66 (list x-button-middle x-button-middle-up
86 (mouse::index mouse-mode-middle mouse-down) 67 x-button-right x-button-right-up)))
87 (mouse::index mouse-mode-middle mouse-up) 68 ("epoch" .
88 (mouse::index mouse-mode-right mouse-down) 69 (mapcar (function
89 (mouse::index mouse-mode-right mouse-up) 70 (lambda (key) (cons key (aref mouse::global-map key))))
90 ))) 71 (list (mouse::index mouse-middle mouse-down)
91 ("next" . 72 (mouse::index mouse-middle mouse-up)
92 (mapcar (function 73 (mouse::index mouse-right mouse-down)
93 (lambda (key) 74 (mouse::index mouse-right mouse-up)
94 (cons key (mousemap-get 75 ;; Modeline mouse map
95 (mouse-list-to-mouse-code key) 76 (mouse::index mouse-mode-middle mouse-down)
96 current-global-mousemap)))) 77 (mouse::index mouse-mode-middle mouse-up)
97 (apply 'nconc 78 (mouse::index mouse-mode-right mouse-down)
98 (mapcar (function 79 (mouse::index mouse-mode-right mouse-up)
99 (lambda (region) 80 )))
100 (mapcar (function 81 ("next" .
101 (lambda (key) 82 (mapcar (function
102 (cons region key))) 83 (lambda (key)
103 '((left) (up left) (shift left) 84 (cons key (mousemap-get
104 (right) (up right) 85 (mouse-list-to-mouse-code key)
105 )))) 86 current-global-mousemap))))
106 '(text scrollbar modeline minibuffer))) 87 (apply 'nconc
107 )) 88 (mapcar (function
108 ;; SunView 89 (lambda (region)
109 ("sun" . 90 (mapcar (function
110 (mapcar (function 91 (lambda (key)
111 (lambda (key) 92 (cons region key)))
112 (setq key (mouse-list-to-mouse-code key)) 93 '((left) (up left) (shift left)
113 (cons key (mousemap-get 94 (right) (up right)
114 key current-global-mousemap)))) 95 ))))
115 (apply 'nconc 96 '(text scrollbar modeline minibuffer)))
116 (mapcar (function 97 ))
117 (lambda (region) 98 ;; SunView
118 (mapcar (function 99 ("sun" .
119 (lambda (key) 100 (mapcar (function
120 (cons region key))) 101 (lambda (key)
121 '((middle) (up middle) 102 (setq key (mouse-list-to-mouse-code key))
122 (right) (up right) 103 (cons key (mousemap-get
123 )))) 104 key current-global-mousemap))))
124 '(text scrollbar modeline minibuffer))) 105 (apply 'nconc
125 )) 106 (mapcar (function
126 ("apollo" . 107 (lambda (region)
127 (mapcar (function 108 (mapcar (function
128 (lambda (key-str) (apollo-mouse-key-and-binding 109 (lambda (key)
129 key-str))) 110 (cons region key)))
130 '("M2D" "M2U" "M3D" "M3U"))) 111 '((middle) (up middle)
131 )))))) 112 (right) (up right)
113 ))))
114 '(text scrollbar modeline minibuffer)))
115 ))
116 ("apollo" .
117 (mapcar (function
118 (lambda (key-str) (apollo-mouse-key-and-binding
119 key-str)))
120 '("M2D" "M2U" "M3D" "M3U")))
121 )))))
132 122
133 (defun hmouse-setup () 123 (defun hmouse-setup ()
134 "Binds mouse keys for use as Smart Keys." 124 "Binds mouse keys for use as Smart Keys."
135 (interactive) 125 (interactive)
136 ;; Do nothing when running in batch mode. 126 (or hmouse-bindings-flag hmouse-previous-bindings
137 (if noninteractive 127 (setq hmouse-previous-bindings (hmouse-get-bindings)))
138 nil 128 ;; Ensure Gillespie's Info mouse support is off since
139 (or hmouse-bindings-flag hmouse-previous-bindings 129 ;; Hyperbole handles that.
140 (setq hmouse-previous-bindings (hmouse-get-bindings))) 130 (setq Info-mouse-support nil)
141 ;; Ensure Gillespie's Info mouse support is off since 131 ;;
142 ;; Hyperbole handles that. 132 (cond ;; GNU Emacs 19
143 (setq Info-mouse-support nil) 133 ((if (not noninteractive) hyperb:emacs19-p)
134 (setq hmouse-set-point-command 'mouse-set-point)
135 ;; Get rid of Info-mode [mouse-2] binding since Hyperbole performs
136 ;; a superset of what it does.
137 (add-hook 'Info-mode-hook
138 (function (lambda () (define-key Info-mode-map [mouse-2] nil))))
144 ;; 139 ;;
145 (cond;; GNU Emacs 19 140 (if (memq window-system '(ns dps))
146 (hyperb:emacs19-p 141 ;; NEXTSTEP offers only 2 mouse buttons which we use
147 (setq hmouse-set-point-command 'mouse-set-point) 142 ;; as the Smart Keys. We move the mouse-set-point
148 ;; Get rid of Info-mode [mouse-2] binding since Hyperbole performs 143 ;; command to shift-left.
149 ;; a superset of what it does. 144 (progn
150 (add-hook 'Info-mode-hook 145 (global-set-key [S-down-mouse-1] 'mouse-drag-region)
151 (function (lambda () (define-key Info-mode-map [mouse-2] nil)))) 146 (global-set-key [S-mouse-1] 'mouse-set-point)
152 ;; 147 (global-set-key [down-mouse-1] 'action-key-depress-emacs19)
153 (if (memq window-system '(ns dps)) 148 (global-set-key [mouse-1] 'action-mouse-key-emacs19)
154 ;; NEXTSTEP offers only 2 mouse buttons which we use 149 (global-set-key [double-mouse-1] 'action-mouse-key-emacs19)
155 ;; as the Smart Keys. We move the mouse-set-point 150 (global-set-key [triple-mouse-1] 'action-mouse-key-emacs19)
156 ;; command to shift-left. 151 (global-set-key [down-mouse-2] 'assist-key-depress-emacs19)
157 (progn 152 (global-set-key [mouse-2] 'assist-mouse-key-emacs19)
158 (global-set-key [S-down-mouse-1] 'mouse-drag-region) 153 (global-set-key [double-mouse-2] 'assist-mouse-key-emacs19)
159 (global-set-key [S-mouse-1] 'mouse-set-point) 154 (global-set-key [triple-mouse-2] 'assist-mouse-key-emacs19)
160 (global-set-key [down-mouse-1] 'action-key-depress-emacs19) 155 (global-set-key [vertical-line down-mouse-1] 'action-key-depress-emacs19)
161 (global-set-key [mouse-1] 'action-mouse-key-emacs19) 156 (global-set-key [vertical-line mouse-1] 'action-mouse-key-emacs19)
162 (global-set-key [double-mouse-1] 'action-mouse-key-emacs19) 157 (global-set-key [vertical-line down-mouse-2] 'assist-key-depress-emacs19)
163 (global-set-key [triple-mouse-1] 'action-mouse-key-emacs19) 158 (global-set-key [vertical-line mouse-2] 'assist-mouse-key-emacs19)
164 (global-set-key [down-mouse-2] 'assist-key-depress-emacs19) 159 (global-set-key [mode-line down-mouse-2] 'action-key-depress-emacs19)
165 (global-set-key [mouse-2] 'assist-mouse-key-emacs19) 160 (global-set-key [mode-line mouse-2] 'action-mouse-key-emacs19)
166 (global-set-key [double-mouse-2] 'assist-mouse-key-emacs19) 161 (global-set-key [mode-line down-mouse-3] 'assist-key-depress-emacs19)
167 (global-set-key [triple-mouse-2] 'assist-mouse-key-emacs19) 162 (global-set-key [mode-line mouse-3] 'assist-mouse-key-emacs19))
168 (global-set-key [vertical-line down-mouse-1] 'action-key-depress-emacs19) 163 ;; X
169 (global-set-key [vertical-line mouse-1] 'action-mouse-key-emacs19) 164 (global-set-key [down-mouse-2] 'action-key-depress-emacs19)
170 (global-set-key [vertical-line down-mouse-2] 'assist-key-depress-emacs19) 165 (global-set-key [mouse-2] 'action-mouse-key-emacs19)
171 (global-set-key [vertical-line mouse-2] 'assist-mouse-key-emacs19) 166 (global-set-key [double-mouse-2] 'action-mouse-key-emacs19)
172 (global-set-key [mode-line down-mouse-2] 'action-key-depress-emacs19) 167 (global-set-key [triple-mouse-2] 'action-mouse-key-emacs19)
173 (global-set-key [mode-line mouse-2] 'action-mouse-key-emacs19) 168 (global-set-key [down-mouse-3] 'assist-key-depress-emacs19)
174 (global-set-key [mode-line down-mouse-3] 'assist-key-depress-emacs19) 169 (global-set-key [mouse-3] 'assist-mouse-key-emacs19)
175 (global-set-key [mode-line mouse-3] 'assist-mouse-key-emacs19)) 170 (global-set-key [double-mouse-3] 'assist-mouse-key-emacs19)
176 ;; X 171 (global-set-key [triple-mouse-3] 'assist-mouse-key-emacs19)
177 (global-set-key [down-mouse-2] 'action-key-depress-emacs19) 172 (global-set-key [vertical-line down-mouse-2] 'action-key-depress-emacs19)
178 (global-set-key [mouse-2] 'action-mouse-key-emacs19) 173 (global-set-key [vertical-line mouse-2] 'action-mouse-key-emacs19)
179 (global-set-key [double-mouse-2] 'action-mouse-key-emacs19) 174 (global-set-key [vertical-line down-mouse-3] 'assist-key-depress-emacs19)
180 (global-set-key [triple-mouse-2] 'action-mouse-key-emacs19) 175 (global-set-key [vertical-line mouse-3] 'assist-mouse-key-emacs19)
181 (global-set-key [down-mouse-3] 'assist-key-depress-emacs19) 176 (global-set-key [mode-line down-mouse-2] 'action-key-depress-emacs19)
182 (global-set-key [mouse-3] 'assist-mouse-key-emacs19) 177 (global-set-key [mode-line mouse-2] 'action-mouse-key-emacs19)
183 (global-set-key [double-mouse-3] 'assist-mouse-key-emacs19) 178 (global-set-key [mode-line down-mouse-3] 'assist-key-depress-emacs19)
184 (global-set-key [triple-mouse-3] 'assist-mouse-key-emacs19) 179 (global-set-key [mode-line mouse-3] 'assist-mouse-key-emacs19)))
185 (global-set-key [vertical-line down-mouse-2] 'action-key-depress-emacs19) 180 ;;
186 (global-set-key [vertical-line mouse-2] 'action-mouse-key-emacs19) 181 ;; XEmacs
187 (global-set-key [vertical-line down-mouse-3] 'assist-key-depress-emacs19) 182 ((if (not noninteractive) hyperb:xemacs-p)
188 (global-set-key [vertical-line mouse-3] 'assist-mouse-key-emacs19) 183 ;; Set mouse bindings under XEmacs, even if not under a window
189 (global-set-key [mode-line down-mouse-2] 'action-key-depress-emacs19) 184 ;; system since it can have frames on ttys and windowed displays at
190 (global-set-key [mode-line mouse-2] 'action-mouse-key-emacs19) 185 ;; the same time.
191 (global-set-key [mode-line down-mouse-3] 'assist-key-depress-emacs19) 186 (setq hmouse-set-point-command 'hmouse-move-point-xemacs)
192 (global-set-key [mode-line mouse-3] 'assist-mouse-key-emacs19))) 187 ;; Get rid of Info-mode buttons 2 and 3 bindings since Hyperbole
193 ;; 188 ;; handles things in Info.
194 ;; XEmacs 189 (add-hook 'Info-mode-hook
195 (hyperb:xemacs-p 190 (function (lambda ()
196 ;; Set mouse bindings under XEmacs, even if not under a window 191 (define-key Info-mode-map 'button2 nil))))
197 ;; system since it can have frames on ttys and windowed displays at 192 ;;
198 ;; the same time. 193 (global-set-key 'button2 'action-key-depress)
199 (setq hmouse-set-point-command 'hmouse-move-point-xemacs) 194 (global-set-key 'button2up 'action-mouse-key)
200 ;; Get rid of Info-mode buttons 2 and 3 bindings since Hyperbole 195 (if (fboundp 'infodock-set-mouse-bindings)
201 ;; handles things in Info. 196 (infodock-set-mouse-bindings)
202 (add-hook 'Info-mode-hook 197 (let ((unbind-but3
203 (function (lambda () 198 (function (lambda ()
204 (define-key Info-mode-map 'button2 nil)))) 199 (define-key Info-mode-map 'button3 nil)))))
205 ;; 200 (if (and (boundp 'Info-mode-map) (keymapp Info-mode-map))
206 (global-set-key 'button2 'action-key-depress) 201 (funcall unbind-but3)
207 (global-set-key 'button2up 'action-mouse-key) 202 (add-hook 'Info-mode-hook unbind-but3)))
208 (if (fboundp 'infodock-set-mouse-bindings) 203 (if (boundp 'mode-line-map)
209 (infodock-set-mouse-bindings) 204 (progn (define-key mode-line-map 'button3 'assist-key-depress)
210 (let ((unbind-but3 205 (define-key mode-line-map 'button3up 'assist-mouse-key)))
211 (function (lambda () 206 (global-set-key 'button3 'assist-key-depress)
212 (define-key Info-mode-map 'button3 nil))))) 207 (global-set-key 'button3up 'assist-mouse-key)))
213 (if (and (boundp 'Info-mode-map) (keymapp Info-mode-map)) 208 ;;
214 (funcall unbind-but3) 209 ;; X
215 (add-hook 'Info-mode-hook unbind-but3))) 210 ((equal hyperb:window-system "xterm")
216 (if (boundp 'mode-line-map) 211 (setq hmouse-set-point-command 'x-mouse-set-point)
217 (progn (define-key mode-line-map 'button3 'assist-key-depress) 212 (define-key mouse-map x-button-middle 'action-key-depress)
218 (define-key mode-line-map 'button3up 'assist-mouse-key))) 213 (define-key mouse-map x-button-middle-up 'action-mouse-key)
219 (global-set-key 'button3 'assist-key-depress) 214 (define-key mouse-map x-button-right 'assist-key-depress)
220 (global-set-key 'button3up 'assist-mouse-key))) 215 (define-key mouse-map x-button-right-up 'assist-mouse-key)
221 ;; 216 ;; Use these instead of the above for a true META-BUTTON binding.
222 ;; X 217 ;; (define-key mouse-map x-button-m-middle 'assist-key-depress)
223 ((equal hyperb:window-system "xterm") 218 ;; (define-key mouse-map x-button-m-middle-up 'assist-mouse-key)
224 (setq hmouse-set-point-command 'x-mouse-set-point) 219 )
225 (define-key mouse-map x-button-middle 'action-key-depress) 220 ;;
226 (define-key mouse-map x-button-middle-up 'action-mouse-key) 221 ;; Epoch
227 (define-key mouse-map x-button-right 'assist-key-depress) 222 ((equal hyperb:window-system "epoch")
228 (define-key mouse-map x-button-right-up 'assist-mouse-key) 223 (setq hmouse-set-point-command 'mouse::set-point)
229 ;; Use these instead of the above for a true META-BUTTON binding. 224 (global-set-mouse mouse-middle mouse-down 'action-key-depress)
230 ;; (define-key mouse-map x-button-m-middle 'assist-key-depress) 225 (global-set-mouse mouse-middle mouse-up 'action-mouse-key)
231 ;; (define-key mouse-map x-button-m-middle-up 'assist-mouse-key) 226 (global-set-mouse mouse-right mouse-down 'assist-key-depress)
232 ) 227 (global-set-mouse mouse-right mouse-up 'assist-mouse-key)
233 ;; 228 ;; Modeline mouse map
234 ;; Epoch 229 (global-set-mouse mouse-mode-middle mouse-down 'action-key-depress)
235 ((equal hyperb:window-system "epoch") 230 (global-set-mouse mouse-mode-middle mouse-up 'action-mouse-key)
236 (setq hmouse-set-point-command 'mouse::set-point) 231 (global-set-mouse mouse-mode-right mouse-down 'assist-key-depress)
237 (global-set-mouse mouse-middle mouse-down 'action-key-depress) 232 (global-set-mouse mouse-mode-right mouse-up 'assist-mouse-key)
238 (global-set-mouse mouse-middle mouse-up 'action-mouse-key) 233 )
239 (global-set-mouse mouse-right mouse-down 'assist-key-depress) 234 ;;
240 (global-set-mouse mouse-right mouse-up 'assist-mouse-key) 235 ;; NeXT
241 ;; Modeline mouse map 236 ((equal hyperb:window-system "next")
242 (global-set-mouse mouse-mode-middle mouse-down 'action-key-depress) 237 (setq hmouse-set-point-command 'hmouse-move-point-eterm)
243 (global-set-mouse mouse-mode-middle mouse-up 'action-mouse-key) 238 ;; Use shift-left button to set point.
244 (global-set-mouse mouse-mode-right mouse-down 'assist-key-depress) 239 ;; Use left button instead of non-existent middle as Smart Key.
245 (global-set-mouse mouse-mode-right mouse-up 'assist-mouse-key) 240 (mapcar
246 ) 241 (function
247 ;; 242 (lambda (region)
248 ;; NeXT 243 (global-set-mouse (cons region '(shift left)) 'mouse-move-point)
249 ((equal hyperb:window-system "next") 244 (global-set-mouse (cons region '(left)) 'action-key-depress)
250 (setq hmouse-set-point-command 'hmouse-move-point-eterm) 245 (global-set-mouse (cons region '(up left)) 'action-mouse-key)
251 ;; Use shift-left button to set point. 246 (global-set-mouse (cons region '(right)) 'assist-key-depress)
252 ;; Use left button instead of non-existent middle as Smart Key. 247 (global-set-mouse (cons region '(up right)) 'assist-mouse-key)
253 (mapcar 248 ;; Use these instead of the above for a true META-BUTTON binding.
254 (function 249 ;; (global-set-mouse (cons region '(meta right)) 'assist-key-depress)
255 (lambda (region) 250 ;; (global-set-mouse (cons region '(meta up right)) 'assist-mouse-key)
256 (global-set-mouse (cons region '(shift left)) 'mouse-move-point) 251 ))
257 (global-set-mouse (cons region '(left)) 'action-key-depress) 252 '(text scrollbar modeline minibuffer))
258 (global-set-mouse (cons region '(up left)) 'action-mouse-key) 253 )
259 (global-set-mouse (cons region '(right)) 'assist-key-depress) 254 ;;
260 (global-set-mouse (cons region '(up right)) 'assist-mouse-key) 255 ;; SunView
261 ;; Use these instead of the above for a true META-BUTTON binding. 256 ((equal hyperb:window-system "sun")
262 ;; (global-set-mouse (cons region '(meta right)) 'assist-key-depress) 257 (setq hmouse-set-point-command 'hmouse-move-point-eterm)
263 ;; (global-set-mouse (cons region '(meta up right)) 'assist-mouse-key) 258 (mapcar
264 )) 259 (function
265 '(text scrollbar modeline minibuffer)) 260 (lambda (region)
266 ) 261 (global-set-mouse (cons region '(middle)) 'action-key-depress)
267 ;; 262 (global-set-mouse (cons region '(up middle)) 'action-mouse-key)
268 ;; SunView 263 (global-set-mouse (cons region '(right)) 'assist-key-depress)
269 ((equal hyperb:window-system "sun") 264 (global-set-mouse (cons region '(up right)) 'assist-mouse-key)
270 (setq hmouse-set-point-command 'hmouse-move-point-eterm) 265 ;; Use these instead of the above for a true META-BUTTON binding.
271 (mapcar 266 ;; (global-set-mouse (cons region '(meta middle)) 'assist-key-depress)
272 (function 267 ;; (global-set-mouse (cons region '(meta up middle)) 'assist-mouse-key)
273 (lambda (region) 268 ))
274 (global-set-mouse (cons region '(middle)) 'action-key-depress) 269 '(text scrollbar modeline minibuffer))
275 (global-set-mouse (cons region '(up middle)) 'action-mouse-key) 270 )
276 (global-set-mouse (cons region '(right)) 'assist-key-depress) 271 ;;
277 (global-set-mouse (cons region '(up right)) 'assist-mouse-key) 272 ;; Apollo DM
278 ;; Use these instead of the above for a true META-BUTTON binding. 273 ((equal hyperb:window-system "apollo")
279 ;; (global-set-mouse (cons region '(meta middle)) 'assist-key-depress) 274 (setq hmouse-set-point-command 'apollo-mouse-move-point)
280 ;; (global-set-mouse (cons region '(meta up middle)) 'assist-mouse-key) 275 (bind-apollo-mouse-button "M2D" 'action-key-depress)
281 )) 276 (bind-apollo-mouse-button "M2U" 'action-mouse-key)
282 '(text scrollbar modeline minibuffer)) 277 (bind-apollo-mouse-button "M3D" 'assist-key-depress)
283 ) 278 (bind-apollo-mouse-button "M3U" 'assist-mouse-key)
284 ;; 279 ;; Use these instead of the above for a true META-BUTTON binding.
285 ;; Apollo DM 280 ;; (bind-apollo-mouse-button "M2U" 'action-mouse-key
286 ((equal hyperb:window-system "apollo") 281 ;; 'assist-mouse-key)
287 (setq hmouse-set-point-command 'apollo-mouse-move-point) 282 ;; (bind-apollo-mouse-button "M2D" 'action-key-depress 'assist-key-depress)
288 (bind-apollo-mouse-button "M2D" 'action-key-depress) 283 ))
289 (bind-apollo-mouse-button "M2U" 'action-mouse-key) 284 (setq hmouse-bindings (hmouse-get-bindings)
290 (bind-apollo-mouse-button "M3D" 'assist-key-depress) 285 hmouse-bindings-flag t))
291 (bind-apollo-mouse-button "M3U" 'assist-mouse-key)
292 ;; Use these instead of the above for a true META-BUTTON binding.
293 ;; (bind-apollo-mouse-button "M2U" 'action-mouse-key
294 ;; 'assist-mouse-key)
295 ;; (bind-apollo-mouse-button "M2D" 'action-key-depress 'assist-key-depress)
296 ))
297 (setq hmouse-bindings (hmouse-get-bindings)
298 hmouse-bindings-flag t)))