comparison lisp/hyperbole/hmouse-sh.el @ 100:4be1180a9e89 r20-1b2

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