Added support for modified (i.e. with shift, control or meta) mouse buttons.
authorMark Friedman <edu/mit/csail/zurich/markf>
Tue, 19 Nov 1991 19:44:15 +0000 (19:44 +0000)
committerMark Friedman <edu/mit/csail/zurich/markf>
Tue, 19 Nov 1991 19:44:15 +0000 (19:44 +0000)
v7/src/edwin/edtstr.scm

index 42ca6e37b6c7d0bfff71200329c4fc4356237301..5295b689839858d17803fff86cd183c549cdb49e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; -*-Scheme-*-
 ;;;
-;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edtstr.scm,v 1.16 1991/05/10 05:50:04 cph Exp $
+;;;    $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/edtstr.scm,v 1.17 1991/11/19 19:44:15 markf Exp $
 ;;;
 ;;;    Copyright (c) 1989-91 Massachusetts Institute of Technology
 ;;;
              (set! up-buttons (vector-grow up-buttons (1+ number))))
          (%make-button up-buttons number false))))
 
+(define (make-modified-button modifier button-number up-or-down)
+  (let ((button
+        (+ button-number
+           (case modifier
+             ((shift) 5)
+             ((control) 10)
+             ((meta) 20)
+             (else (error "make-modified-button: Bad button modifier"
+                          modifier))))))
+    (cond ((eq? up-or-down 'DOWN)
+          (make-down-button button))
+         ((eq? up-or-down 'UP)
+          (make-up-button button))
+         (else (error "make-modified-button: Must specify UP or DOWN"
+                      up-or-down)))))
+
 (define button?
   (record-predicate button-record-type))