
(provide (quote amiga-mouse))

(defconst amiga-button-right (char-to-string 0))

(defconst amiga-button-middle (char-to-string 1))

(defconst amiga-button-left (char-to-string 2))

(defconst amiga-button-right-up (char-to-string 4))

(defconst amiga-button-middle-up (char-to-string 5))

(defconst amiga-button-left-up (char-to-string 6))

(defconst amiga-button-s-right (char-to-string 16))

(defconst amiga-button-s-middle (char-to-string 17))

(defconst amiga-button-s-left (char-to-string 18))

(defconst amiga-button-s-right-up (char-to-string 20))

(defconst amiga-button-s-middle-up (char-to-string 21))

(defconst amiga-button-s-left-up (char-to-string 22))

(defconst amiga-button-m-right (char-to-string 32))

(defconst amiga-button-m-middle (char-to-string 33))

(defconst amiga-button-m-left (char-to-string 34))

(defconst amiga-button-m-right-up (char-to-string 36))

(defconst amiga-button-m-middle-up (char-to-string 37))

(defconst amiga-button-m-left-up (char-to-string 38))

(defconst amiga-button-c-right (char-to-string 64))

(defconst amiga-button-c-middle (char-to-string 65))

(defconst amiga-button-c-left (char-to-string 66))

(defconst amiga-button-c-right-up (char-to-string 68))

(defconst amiga-button-c-middle-up (char-to-string 69))

(defconst amiga-button-c-left-up (char-to-string 70))

(defconst amiga-button-m-s-right (char-to-string 48))

(defconst amiga-button-m-s-middle (char-to-string 49))

(defconst amiga-button-m-s-left (char-to-string 50))

(defconst amiga-button-m-s-right-up (char-to-string 52))

(defconst amiga-button-m-s-middle-up (char-to-string 53))

(defconst amiga-button-m-s-left-up (char-to-string 54))

(defconst amiga-button-c-s-right (char-to-string 80))

(defconst amiga-button-c-s-middle (char-to-string 81))

(defconst amiga-button-c-s-left (char-to-string 82))

(defconst amiga-button-c-s-right-up (char-to-string 84))

(defconst amiga-button-c-s-middle-up (char-to-string 85))

(defconst amiga-button-c-s-left-up (char-to-string 86))

(defconst amiga-button-c-m-right (char-to-string 96))

(defconst amiga-button-c-m-middle (char-to-string 97))

(defconst amiga-button-c-m-left (char-to-string 98))

(defconst amiga-button-c-m-right-up (char-to-string 100))

(defconst amiga-button-c-m-middle-up (char-to-string 101))

(defconst amiga-button-c-m-left-up (char-to-string 102))

(defconst amiga-button-c-m-s-right (char-to-string 112))

(defconst amiga-button-c-m-s-middle (char-to-string 113))

(defconst amiga-button-c-m-s-left (char-to-string 114))

(defconst amiga-button-c-m-s-right-up (char-to-string 116))

(defconst amiga-button-c-m-s-middle-up (char-to-string 117))

(defconst amiga-button-c-m-s-left-up (char-to-string 118))

(defmacro cadr (x) (byte-code "ÁÂDD‡" [x car cdr] 3))

(defmacro caddr (x) (byte-code "ÁÂÂDDD‡" [x car cdr] 4))

(defmacro cadddr (x) (byte-code "ÁÂÂÂDDDD‡" [x car cdr] 5))

(defun coordinates-in-window-p (arg w) (byte-code "	@	A@Å!@Y…7 AA@W…7 
A@Y…7 
AAA@W…7 @Z
A@ZD+‡" [x arg y edges w window-edges] 4))

(defvar amiga-process-mouse-hook nil "\
Hook to run after each mouse event is processed.  Should take two
arguments; the first being a list (XPOS YPOS) corresponding to character
offset from top left of screen and the second being a specifier for the
buttons/keys.

This will normally be set on a per-buffer basis.")

(defun amiga-flush-mouse-queue nil "\
Process all queued mouse events." (interactive) (byte-code "ÃˆÄ ÅV…  Æ ˆÇÀ!… ÀJ… È	
#ˆ‚ ‡" [amiga-process-mouse-hook amiga-mouse-pos amiga-mouse-item nil amiga-mouse-events 0 amiga-proc-mouse-event boundp funcall] 8))

(define-key global-map "M" (quote amiga-flush-mouse-queue))

(defun amiga-mouse-select (arg) "\
Select Emacs window the mouse is on." (byte-code "Ç ÂÇ ÂÈ =ƒ É\"‰‚< 	?…& É\"‰?…< Ê!‰ˆ=…8 Æ‰ˆ‚ ˆË!ˆ,‡" [start-w done nil w rel-coordinate arg t selected-window minibuffer-window coordinates-in-window-p next-window select-window] 9))

(defun amiga-mouse-keep-one-window (arg) "\
Select Emacs window mouse is on, then kill all other Emacs windows." (byte-code "Á!… Â ‡" [arg amiga-mouse-select delete-other-windows] 3))

(defun amiga-mouse-select-and-split (arg) "\
Select Emacs window mouse is on, then split it vertically in half." (byte-code "Â!…	 ÃÁ!‡" [arg nil amiga-mouse-select split-window-vertically] 3))

(defun amiga-mouse-set-point (arg) "\
Select Emacs window mouse is on, and move point to mouse position." (byte-code "È	!É@A@…W Ê Ë =ƒ ‚ ÌÍ!ˆ†- Î ÌVƒ4 i‚< iÏiÐ S\"Z‰ˆÑÒÓÎ ]S`ÓUƒR [‚S Ì
$!),‡" [relative-coordinate arg margin-column rel-x rel-y prompt-width minibuffer-prompt-width truncate-lines amiga-mouse-select nil selected-window minibuffer-window 0 move-to-window-line window-hscroll % window-width move-to-column + 1] 14))

(defun amiga-mouse-set-mark (arg) "\
Select Emacs window mouse is on, and set mark at mouse position.
Display cursor at that position for a second." (byte-code "Ä!… `ÅŽÆ!ˆÇÂÃ\"ˆÈÉ!))‡" [arg point-save nil t amiga-mouse-select ((byte-code "b‡" [point-save] 1)) amiga-mouse-set-point push-mark sit-for 1] 5))

(defun amiga-mouse-ignore (arg) (byte-code "À‡" ["Don't do anything."] 1))

(define-key mouse-map amiga-button-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-m-s-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-s-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-right (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-middle (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-left (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-right-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-middle-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-c-m-s-left-up (quote amiga-mouse-ignore))

(define-key mouse-map amiga-button-s-right (quote amiga-mouse-keep-one-window))

(define-key mouse-map amiga-button-right (quote amiga-mouse-select-and-split))

(define-key mouse-map amiga-button-left (quote amiga-mouse-set-point))

(define-key mouse-map amiga-button-middle (quote amiga-mouse-set-mark))
