113 |
(setcdr pos (cons xterm-mouse-x xterm-mouse-y)) |
(setcdr pos (cons xterm-mouse-x xterm-mouse-y)) |
114 |
pos) |
pos) |
115 |
|
|
116 |
|
;; read xterm sequences above ascii 127 (#x7f) |
117 |
|
(defun xterm-mouse-event-read () |
118 |
|
(let ((c (read-char))) |
119 |
|
(if (< c 0) |
120 |
|
(+ c #x8000000 128) |
121 |
|
c))) |
122 |
|
|
123 |
(defun xterm-mouse-event () |
(defun xterm-mouse-event () |
124 |
"Convert XTerm mouse event to Emacs mouse event." |
"Convert XTerm mouse event to Emacs mouse event." |
125 |
(let* ((type (- (read-char) #o40)) |
(let* ((type (- (xterm-mouse-event-read) #o40)) |
126 |
(x (- (read-char) #o40 1)) |
(x (- (xterm-mouse-event-read) #o40 1)) |
127 |
(y (- (read-char) #o40 1)) |
(y (- (xterm-mouse-event-read) #o40 1)) |
128 |
(point (cons x y)) |
(point (cons x y)) |
129 |
(window (window-at x y)) |
(window (window-at x y)) |
130 |
(where (if window |
(where (if window |