$ od -c -N 50000 [Erinyes]<LispManual>Mouse.im!7
0000000 \r { B e g i n S u b S e c C
0000020 u r s o r a n d M o u s e }
0000040 \r { T i t l e C u r s o r a
0000060 n d M o u s e } \r { T e x t \r
0000100 \r { i n d e x * P R I M A R Y
0000120 * M o u s e } \r { i n d e x
0000140 * P R I M A R Y * C u r s o r
0000160 } \r \r A m o u s e i s a
0000200 s m a l l b o x c o n n e c
0000220 t e d t o t h e c o m p u
0000240 t e r k e y b o a r d b y
0000260 a l o n g w i r e . O n
0000300 t h e t o p o f t h e
0000320 m o u s e a r e t w o o r
0000340 t h r e e b u t t o n s .
0000360 O n t h e b o t t o m i
0000400 s a r o l l i n g b a l l
0000420 o r a s e t o f p h o
0000440 t o r e c e p t o r s , t o
0000460 d e t e c t w h e n t h e
0000500 m o u s e i s m o v e d .
0000520 A s t h e m o u s e i s
0000540 m o v e d o n a s u r f
0000560 a c e , a s m a l l i m a
0000600 g e o n t h e s c r e e n
0000620 , c a l l e d t h e c u r
0000640 s o r , m o v e s t o f o
0000660 l l o w t h e m o v e m e n
0000700 t o f t h e m o u s e .
0000720 B y m o v i n g t h e m
0000740 o u s e , t h e u s e r c
0000760 a n c a u s e t h e c u r
0001000 s o r t o p o i n t t o
0001020 a n y p a r t o f t h e
0001040 d i s p l a y s c r e e n . \r
0001060 \r T h e m o u s e a n d c
0001100 u r s o r a r e a n i m p
0001120 o r t a n t p a r t o f t
0001140 h e I n t e r l i s p - D u
0001160 s e r i n t e r f a c e .
0001200 T h e I n t e r l i s p - D
0001220 w i n d o w s y s t e m a l
0001240 l o w s t h e u s e r t o
0001260 c r e a t e , m o v e , a
0001300 n d r e s h a p e w i n d o
0001320 w s , a n d t o s e l e c
0001340 t i t e m s f r o m d i s
0001360 p l a y e d m e n u s , a l
0001400 l b y m o v i n g t h e
0001420 m o u s e a n d c l i c k i
0001440 n g t h e m o u s e b u t
0001460 t o n s . T h i s s e c t
0001500 i o n d e s c r i b e s t h
0001520 e l o w - l e v e l f u n c
0001540 t i o n s u s e d t o c o
0001560 n t r o l t h e m o u s e
0001600 a n d c u r s o r . \r \r \r { B
0001620 e g i n S u b S e c C h a n
0001640 g i n g t h e C u r s o r
0001660 I m a g e } \r { T i t l e C h
0001700 a n g i n g t h e C u r s o
0001720 r I m a g e } \r { T e x t \r \r
0001740 \r I n t e r l i s p - D m a i
0001760 n t a i n s t h e i m a g e
0002000 o f t h e c u r s o r o
0002020 n t h e s c r e e n , m o
0002040 v i n g i t a s t h e m
0002060 o u s e i s m o v e d .
0002100 T h e b i t m a p t h a t
0002120 b e c o m e s v i s i b l e
0002140 a s t h e c u r s o r c a
0002160 n b e a c c e s s e d b y
0002200 t h e f o l l o w i n g f
0002220 u n c t i o n : \r \r { F n D e f
0002240 { N a m e C U R S O R B I T
0002260 M A P } \r { T e x t \r R e t u r
0002300 n s t h e c u r s o r b i
0002320 t m a p . \r } } \r \r { V a r D e
0002340 f { N a m e C U R S O R W I
0002360 D T H } } \r { V a r D e f { N
0002400 a m e C U R S O R H E I G H T
0002420 } \r { T e x t \r V a l u e i s
0002440 t h e w i d t h a n d h
0002460 e i g h t o f t h e c u r
0002500 s o r b i t m a p , r e s p
0002520 e c t i v e l y . \r } } \r \r \r T
0002540 h e c u r s o r b i t m a p
0002560 c a n b e c h a n g e d
0002600 l i k e a n y o t h e r b
0002620 i t m a p b y { f n B I T
0002640 B L T } i n g i n t o i t
0002660 o r p o i n t i n g a d i
0002700 s p l a y s t r e a m a t
0002720 i t a n d p r i n t i n g
0002740 o r d r a w i n g c u r v e
0002760 s . H o w e v e r , f o r
0003000 s o m e a p p l i c a t i o
0003020 n s i t i s n e c e s s a
0003040 r y t o s a v e a n d r
0003060 e s t o r e t h e c u r s o
0003100 r , w h i c h c a n b e
0003120 m o s t e a s i l y d o n e
0003140 u s i n g { l i s p C U R
0003160 S O R } r e c o r d o b j e
0003200 c t s . { i n d e x C U R S O
0003220 R ( R e c o r d ) } A {
0003240 l i s p C U R S O R } r e c
0003260 o r d c o n t a i n s f i e
0003300 l d s { l i s p C U R S O R
0003320 B I T M A P } a n d { l i s
0003340 p C U R S O R H O T S P O T }
0003360 . T h e v a l u e o f
0003400 t h e { l i s p C U R S O R
0003420 B I T M A P } f i e l d i s
0003440 a b i t m a p t h a t i
0003460 s { v a r C U R S O R W I D
0003500 T H } b i t s w i d e b y
0003520 { v a r C U R S O R H E I G
0003540 H T } h i g h . T h e v
0003560 a l u e o f t h e { l i s
0003600 p C U R S O R H O T S P O T }
0003620 f i e l d i s t h e { i
0003640 n d e x * P R I M A R Y * H
0003660 o t s p o t o f c u r s o
0003700 r } { i n d e x * P R I M A R
0003720 Y * H o t s p o t } " h o t
0003740 s p o t " o f t h e c u r
0003760 s o r , a p o s i t i o n
0004000 i n t h e b i t m a p i n
0004020 t e r p r e t e d a s t h e
0004040 p o i n t t h a t t h e
0004060 c u r s o r i s p o i n t i
0004100 n g t o . { l i s p C U
0004120 R S O R } o b j e c t s c a
0004140 n b e s a v e d o n a
0004160 f i l e u s i n g t h e f
0004200 i l e p a c k a g e c o m m
0004220 a n d { f i l e c o m C U R
0004240 S O R S } , { i n d e x C U R
0004260 S O R S F i l e C o m } o r
0004300 t h e { f i l e c o m U G
0004320 L Y V A R S } f i l e p a c
0004340 k a g e c o m m a n d . \r \r \r
0004360 { F n D e f { N a m e C U R
0004400 S O R C R E A T E } { A r g s
0004420 B I T M A P X Y } \r { T e
0004440 x t \r R e t u r n s a c u r
0004460 s o r o b j e c t w h i c h
0004500 h a s { a r g B I T M A P
0004520 } a s i t s i m a g e a
0004540 n d t h e l o c a t i o n
0004560 ( { a r g X } , { a r g Y }
0004600 ) a s t h e h o t s p o
0004620 t . I f { a r g X } i
0004640 s a { l i s p P O S I T I
0004660 O N } , i t i s u s e d
0004700 a s t h e h o t s p o t .
0004720 I f { a r g B I T M A P
0004740 } h a s d i m e n s i o n s
0004760 d i f f e r e n t f r o m
0005000 { l i s p C U R S O R W I D T
0005020 H } b y { l i s p C U R S
0005040 O R H E I G H T } , t h e l
0005060 e s s e r o f t h e w i d
0005100 t h s a n d t h e l e s s
0005120 e r o f t h e h e i g h t
0005140 s a r e u s e d t o d e
0005160 t e r m i n e t h e b i t s
0005200 t h a t a c t u a l l y g
0005220 e t c o p i e d i n t o t
0005240 h e l o w e r l e f t c o
0005260 r n e r o f t h e c u r s
0005300 o r . I f { a r g X }
0005320 i s { l i s p N I L } , 0
0005340 i s u s e d . I f { a
0005360 r g Y } i s { l i s p N
0005400 I L } , { l i s p C U R S O
0005420 R H E I G H T } - 1 i s u s
0005440 e d . T h e d e f a u l t
0005460 c u r s o r i s a n u p
0005500 a r r o w w i t h i t s t
0005520 i p i n t h e u p p e r
0005540 l e f t c o r n e r a n d
0005560 i t s h o t s p o t a t
0005600 ( 0 , { l i s p C U R S O R H
0005620 E I G H T } - 1 ) . \r } } \r \r \r
0005640 { n o t e t h e I N V E R T
0005660 F L G a r g t o C U R S O
0005700 R a n d S E T C U R S O R
0005720 s h o u l d n o t b e d o
0005740 c u m e n t e d . . . F L I
0005760 P C U R S O R i s t o b e
0006000 u s e d f o r i n v e r t
0006020 i n g t h e c u r s o r } \r
0006040 \r \r { F n D e f { N a m e C
0006060 U R S O R } { A r g s N E W
0006100 C U R S O R { a n o n a r g }
0006120 } \r { T e x t \r R e t u r n s
0006140 a { l i s p C U R S O R }
0006160 r e c o r d i n s t a n c e
0006200 t h a t c o n t a i n s ( a
0006220 c o p y o f ) t h e c u
0006240 r r e n t c u r s o r s p e
0006260 c i f i c a t i o n . I f
0006300 { a r g N E W C U R S O R }
0006320 i s a { l i s p C U R S O
0006340 R } r e c o r d i n s t a n
0006360 c e , t h e c u r s o r w
0006400 i l l b e s e t t o t h
0006420 e v a l u e s i n { a r g
0006440 N E W C U R S O R } . I f
0006460 { a r g N E W C U R S O R }
0006500 i s { l i s p T } , t h
0006520 e c u r s o r w i l l b e
0006540 s e t t o t h e d e f a
0006560 u l t c u r s o r { v a r
0006600 D E F A U L T C U R S O R } , {
0006620 i n d e x * P R I M A R Y *
0006640 D E F A U L T C U R S O R V a
0006660 r } a n u p w a r d l e f
0006700 t p o i n t i n g a r r o w
0006720 : \0 001 \0 \0 \0 \b \0 020 \0 001 200 \0 300 \0
0006740 340 \0 360 \0 370 \0 374 \0 376 \0 360 \0 330 \0 230 \0
0006760 \f \0 \f \0 006 \0 006 \0 003 \0 003 \0 . \r } }
0007000 \r \r \r { F n D e f { N a m e
0007020 S E T C U R S O R } { A r g s
0007040 N E W C U R S O R { a n o n
0007060 a r g } } \r { T e x t \r I f {
0007100 a r g N E W C U R S O R } i
0007120 s a { l i s p C U R S O R
0007140 } r e c o r d i n s t a n c
0007160 e , t h e c u r s o r w i
0007200 l l b e s e t t o t h e
0007220 v a l u e s i n { a r g
0007240 N E W C U R S O R } . T h i
0007260 s d o e s n o t r e t u r
0007300 n t h e o l d c u r s o r
0007320 , a n d t h e r e f o r e ,
0007340 p r o v i d e s a w a y
0007360 o f c h a n g i n g t h e
0007400 c u r s o r w i t h o u t u
0007420 s i n g s t o r a g e . \r } }
0007440 \r \r \r { F n D e f { N a m e
0007460 F L I P C U R S O R } { A r g
0007500 s } \r { T e x t \r I n v e r t s
0007520 t h e c u r s o r . \r } } \r
0007540 \r \r \r T h e f o l l o w i n g
0007560 l i s t d e s c r i b e s
0007600 t h e c u r s o r s u s e d
0007620 b y t h e I n t e r l i s
0007640 p - D s y s t e m . M o s
0007660 t o f t h e m a r e s t
0007700 o r e d a s t h e v a l u
0007720 e s o f v a r i o u s v a
0007740 r i a b l e s . \r \r { B e g i n
0007760 L a b e l e d L i s t N a m
0010000 e d c u r s o r s } \r \r { L a
0010020 b e l \0 001 \0 \0 \0 \b \0 020 \0 001 200 \0
0010040 300 \0 340 \0 360 \0 370 \0 374 \0 376 \0 360 \0 330 \0
0010060 230 \0 \f \0 \f \0 006 \0 006 \0 003 \0 003 \0 } \r
0010100 { T e x t \r I n v a r i a b l
0010120 e { v a r D E F A U L T C U
0010140 R S O R } . { i n d e x D E F
0010160 A U L T C U R S O R V a r }
0010200 T h i s i s t h e d e f
0010220 a u l t c u r s o r . \r } \r \r
0010240 { L a b e l \0 001 \0 \0 \0 017 \0 020 \0
0010260 001 377 376 300 006 ` 034 = x 037 360 017 340 006 300 003
0010300 200 002 200 006 300 \r ` 031 0 7 330 g 354 377 376 377
0010320 376 } \r { T e x t \r I n v a r i
0010340 a b l e { v a r W A I T I N
0010360 G C U R S O R } . { i n d e x
0010400 * P R I M A R Y * W A I T I N
0010420 G C U R S O R V a r } R e
0010440 p r e s e n t s a n h o u r
0010460 g l a s s . U s e d d u r
0010500 i n g l o n g c o m p u t a
0010520 t i o n s . \r } \r \r { L a b e l
0010540 \0 001 \0 \0 \0 \r \0 020 \0 001 377 370 200 \b 271
0010560 ( 271 ( 271 ( 271 ( 271 ( 271 ( 271 ( 200 \b 200
0010600 \b 200 \b 200 \b 200 \b 200 \b 377 370 } \r { T e
0010620 x t \r I n v a r i a b l e {
0010640 v a r M O U S E C O N F I R M
0010660 C U R S O R } . { i n d e x M
0010700 O U S E C O N F I R M C U R S O
0010720 R V a r } I n d i c a t e
0010740 s t h a t t h e s y s t e
0010760 m i s w a i t i n g f o r
0011000 t h e u s e r t o c o n
0011020 f i r m a n a c t i o n b
0011040 y p r e s s i n g t h e l
0011060 e f t m o u s e b u t t o n
0011100 , o r a b o r t i n g t h
0011120 e a c t i o n b y p r e s
0011140 s i n g a n y o t h e r b
0011160 u t t o n . U s e d b y
0011200 t h e f u n c t i o n { f n
0011220 M O U S E C O N F I R M } (
0011240 { P a g e R e f F n M O U S
0011260 E C O N F I R M } ) . \r } \r \r {
0011300 L a b e l \0 001 \0 \0 \0 016 \0 016 \0 001
0011320 t 234 202 240 a 030 021 004 222 $ b 030 \0 \0 \0 \0
0011340 2 \ J H J H J H J H 1 210 } \r { T
0011360 e x t \r I n v a r i a b l e
0011400 { v a r S Y S O U T C U R S O
0011420 R } . { i n d e x S Y S O U T
0011440 C U R S O R V a r } I n d
0011460 i c a t e s t h a t t h e
0011500 s y s t e m i s s a v i n g
0011520 t h e v i r t u a l m e m
0011540 o r y i n a s y s o u t
0011560 f i l e . S e e { f n S
0011600 Y S O U T } , { P a g e R e f
0011620 F n S Y S O U T } . \r } \r \r
0011640 { L a b e l \0 001 \0 \0 \0 017 \0 \r \0
0011660 001 d 240 212 240 312 240 . 254 252 @ 312 @ \0 \0 \n
0011700 N \v R \v P \n 326 \n 322 \n \ } \r { T e
0011720 x t \r I n v a r i a b l e {
0011740 v a r S A V I N G C U R S O R
0011760 } . { i n d e x S A V I N G C
0012000 U R S O R V a r } I n
0012020 d i c a t e s t h a t { f n
0012040 S A V E V M } h a s b e e
0012060 n c a l l e d a u t o m a t
0012100 i c a l l y t o s a v e t
0012120 h e v i r t u a l m e m o r
0012140 y s t a t e a f t e r t h
0012160 e s y s t e m i s i d l e
0012200 f o r l o n g e n o u g h
0012220 . S e e { v a r S A V E
0012240 V M W A I T } , { P a g e R e
0012260 f V a r S A V E V M W A I T
0012300 } . \r } \r \r { L a b e l \0 001 \0
0012320 \0 \0 017 \0 017 \0 001 \a 300 035 p 1 030 a \f A
0012340 004 301 006 201 002 377 376 201 002 301 006 A 004 a \f 1
0012360 030 035 p \a 300 } \r { T e x t \r I n
0012400 v a r i a b l e { v a r C R
0012420 O S S H A I R S } . { i n d e x
0012440 C R O S S H A I R S V a r }
0012460 U s e d b y { f n
0012500 G E T P O S I T I O N } ( { P
0012520 a g e R e f F n G E T P O S
0012540 I T I O N } ) t o i n d i c
0012560 a t e a p o s i t i o n . \r
0012600 } \r \r { L a b e l \0 001 \0 \0 \0 \f
0012620 \0 \f \0 001 377 360 377 360 300 0 300 0 300 0 300 0
0012640 300 0 300 0 300 0 300 0 377 360 377 360 } \r { T
0012660 e x t \r I n v a r i a b l e
0012700 { v a r B O X C U R S O R } .
0012720 { i n d e x B O X C U R S O R
0012740 V a r } U s e d b y
0012760 { f n G E T B O X P O S I T
0013000 I O N } ( { P a g e R e f F
0013020 n G E T B O X P O S I T I O N
0013040 } ) t o i n d i c a t e w
0013060 h e r e t o p l a c e t h
0013100 e c o r n e r o f a b o
0013120 x . \r } \r \r \r { L a b e l \0 001
0013140 \0 \0 \0 \f \0 020 \0 001 9 300 ) @ 9 300 020 200
0013160 031 200 017 \0 006 \0 006 \0 017 \0 031 200 p 340 220 220
0013200 220 220 220 220 220 220 ` ` } \r { T e x t \r
0013220 I n v a r i a b l e { v a r
0013240 F O R C E P S } . { i n d e x
0013260 F O R C E P S V a r }
0013300 U s e d b y { f n G E T
0013320 R E G I O N } ( { P a g e R e
0013340 f F n G E T R E G I O N } )
0013360 w h e n t h e u s e r s
0013400 w i t c h e s c o r n e r s .
0013420 \r } \r \r \r { L a b e l \0 001 \0 \0
0013440 \0 020 \0 016 \0 001 200 \0 300 \0 340 \0 360 \0 370 347
0013460 374 303 376 275 360 $ 330 $ 230 275 \f 303 \f 347 006 \0
0013500 006 \0 } \r { T e x t \r I n v a r
0013520 i a b l e { v a r E X P A N
0013540 D I N G B O X } . { i n d e x
0013560 E X P A N D I N G B O X V a r
0013600 } U s e d b y { f n
0013620 G E T R E G I O N } ( { P a
0013640 g e R e f F n G E T R E G I
0013660 O N } ) w h e n a b o x
0013700 i s f i r s t d i s p l a y
0013720 e d . \r } \r \r \r { L a b e l \0
0013740 001 \0 \0 \0 \n \0 \v \0 001 377 300 177 300 \0 300 \0
0013760 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 @ }
0014000 \r { T e x t \r I n v a r i a b
0014020 l e { v a r U p p e r R i g
0014040 h t C u r s o r } . { i n d e x
0014060 U p p e r R i g h t C u r s o
0014100 r V a r } \r } \r \r { L a b e l
0014120 \0 001 \0 \0 \0 \v \0 \v \0 001 \0 \0 ` \0
0014140 ` \0 ` \0 ` \0 ` \0 ` \0 ` \0 ` 177 340 377
0014160 340 } \r { T e x t \r I n v a r i
0014200 a b l e { v a r L o w e r R
0014220 i g h t C u r s o r } . { i n d
0014240 e x L o w e r R i g h t C u r
0014260 s o r V a r } \r } \r { L a b e
0014300 l \0 001 \0 \0 \0 \n \0 \v \0 001 377 300 377 200
0014320 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0
0014340 200 \0 } \r { T e x t \r I n v a r
0014360 i a b l e { v a r U p p e r
0014400 L e f t C u r s o r } . { i n d
0014420 e x U p p e r L e f t C u r s
0014440 o r V a r } \r } \r \r { L a b e
0014460 l \0 001 \0 \0 \0 \v \0 \v \0 001 200 \0 300 \0
0014500 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 300 \0 377 300
0014520 377 340 } \r { T e x t \r I n v a r
0014540 i a b l e { v a r L o w e r
0014560 L e f t C u r s o r } . { i n d
0014600 e x L o w e r L e f t C u r s
0014620 o r V a r } \r } \r \r { U n i
0014640 n d e n t \r T h e p r e v i o
0014660 u s f o u r c u r s o r s
0014700 a r e u s e d b y { f n
0014720 G E T R E G I O N } ( { P a g
0014740 e R e f F n G E T R E G I O
0014760 N } ) t o i n d i c a t e
0015000 t h e f o u r c o r n e r s
0015020 o f a r e g i o n . \r } \r
0015040 \r \r { L a b e l \0 001 \0 \0 \0 \r \0
0015060 \r \0 001 370 \0 \0 \0 377 \0 \0 \0 377 340 \0 \0 377
0015100 370 \0 \0 377 340 \0 \0 377 \0 \0 \0 370 \0 } \r {
0015120 T e x t \r I n v a r i a b l e
0015140 { v a r V e r t T h u m b C
0015160 u r s o r } . { i n d e x V e
0015200 r t T h u m b C u r s o r V a
0015220 r } U s e d d u r i n g
0015240 s c r o l l i n g t o i n d
0015260 i c a t e t h u m b i n g i
0015300 n a v e r t i c a l s c r
0015320 o l l b a r . \r } \r \r { L a b
0015340 e l \0 001 \0 \0 \0 \a \0 020 \0 001 020 \0 8
0015360 \0 8 \0 | \0 | \0 376 \0 8 \0 8 \0 8 \0 8
0015400 \0 376 \0 | \0 | \0 8 \0 8 \0 020 \0 } \r {
0015420 T e x t \r I n v a r i a b l e
0015440 { v a r V e r t S c r o l l
0015460 C u r s o r } . { i n d e x V
0015500 e r t S c r o l l C u r s o r
0015520 V a r } \r } \r \r \r { L a b e l
0015540 \0 001 \0 \0 \0 \t \0 020 \0 001 \b \0 034 \0 034 \0
0015560 > \0 > \0 177 \0 177 \0 377 200 377 200 034 \0 034 \0
0015600 034 \0 034 \0 034 \0 034 \0 034 \0 } \r { T e x
0015620 t \r I n v a r i a b l e { v
0015640 a r S c r o l l U p C u r s o
0015660 r } . { i n d e x S c r o l l
0015700 U p C u r s o r V a r } \r } \r
0015720 \r \r { L a b e l \0 001 \0 \0 \0 \t
0015740 \0 020 \0 001 034 \0 034 \0 034 \0 034 \0 034 \0 034 \0
0015760 034 \0 377 200 377 200 177 \0 177 \0 > \0 > \0 034 \0
0016000 034 \0 \b \0 } \r { T e x t \r I n v
0016020 a r i a b l e { v a r S c r
0016040 o l l D o w n C u r s o r } . {
0016060 i n d e x S c r o l l D o w n
0016100 C u r s o r V a r } \r } \r \r {
0016120 U n i n d e n t \r T h e p r e
0016140 v i o u s f o u r c u r s o
0016160 r s a r e u s e d b y {
0016200 f n S C R O L L . H A N D L E
0016220 R } ( { P a g e R e f F n
0016240 S C R O L L . H A N D L E R } )
0016260 d u r i n g v e r t i c a l
0016300 s c r o l l i n g . \r } \r \r \r
0016320 { L a b e l \0 001 \0 \0 \0 \r \0 \r \0
0016340 001 002 \0 002 \0 \n 200 \n 200 \n 200 * 240 * 240 *
0016360 240 252 250 252 250 252 250 252 250 252 250 } \r { T e
0016400 x t \r I n v a r i a b l e {
0016420 v a r H o r i z T h u m b C u
0016440 r s o r } . { i n d e x H o r
0016460 i z T h u m b C u r s o r V a
0016500 r } U s e d d u r i n g
0016520 s c r o l l i n g t o i n d
0016540 i c a t e t h u m b i n g i
0016560 n a h o r i z o n t a l s
0016600 c r o l l b a r . \r } \r \r { L
0016620 a b e l \0 001 \0 \0 \0 017 \0 \n \0 001 \b
0016640 030 0 8 8 x < 377 376 377 376 x < 8 8 030
0016660 0 \b } \r { T e x t \r I n v a
0016700 r i a b l e { v a r H o r i
0016720 z S c r o l l C u r s o r } . {
0016740 i n d e x H o r i z S c r o l
0016760 l C u r s o r V a r } \r } \r \r
0017000 { L a b e l \0 001 \0 \0 \0 020 \0 \n \0
0017020 001 \0 200 003 200 017 200 ? 200 377 377 377 377 ? 200 017
0017040 200 003 200 \0 200 } \r { T e x t \r I n
0017060 v a r i a b l e { v a r S c
0017100 r o l l L e f t C u r s o r } .
0017120 { i n d e x S c r o l l L e f
0017140 t C u r s o r V a r } \r } \r \r
0017160 { L a b e l \0 001 \0 \0 \0 020 \0 \n \0
0017200 001 001 \0 001 300 001 360 001 374 377 377 377 377 001 374 001
0017220 360 001 300 001 \0 } \r { T e x t \r I n
0017240 v a r i a b l e { v a r S c
0017260 r o l l R i g h t C u r s o r }
0017300 . { i n d e x S c r o l l R i
0017320 g h t C u r s o r V a r } \r }
0017340 \r \r { U n i n d e n t \r T h e
0017360 p r e v i o u s f o u r c u
0017400 r s o r s a r e u s e d b
0017420 y { f n S C R O L L . H A N
0017440 D L E R } ( { P a g e R e f
0017460 F n S C R O L L . H A N D L E
0017500 R } ) d u r i n g h o r i z
0017520 o n t a l s c r o l l i n g .
0017540 \r } \r \r \r { L a b e l \0 001 \0 \0
0017560 \0 020 \0 017 \0 001 340 \0 N 216 H 210 N 216 H 210
0017600 N 356 \0 \0 \0 \0 \0 \0 340 \0 223 v 225 % 347 %
0017620 245 % 225 v , \0 001 \0 \0 \0 \f \0 \b \0 001
0017640 001 340 001 020 ! 020 q 020 251 020 ! 020 ! 020 ! 340
0017660 , \0 001 \0 \0 \0 \f \0 \b \0 001 001 020 001 220
0017700 ! 220 q P 251 P ! 0 ! 0 ! 020 , \0 001
0017720 \0 \0 \0 017 \0 \a \0 001 d \ 226 322 207 322 205 R
0017740 205 R 224 R d \ } \r { L a b e l \0
0017760 001 \0 \0 \0 020 \0 \a \0 001 \0 340 001 223 ' 344
0020000 251 223 251 224 251 227 w , \0 001 \0 \0 \0 020 \0
0020020 \a \0 001 360 020 210 020 212 322 363 024 212 034 212 022 362
0020040 021 , \0 001 \0 \0 \0 020 \0 016 \0 001 x @ 204
0020060 240 200 240 201 020 205 360 z \b \0 \0 \0 \0 B 337 b
0020100 D R 204 J 004 F 004 B 004 } \r { T e x t
0020120 \r T h e s e c u r s o r s a
0020140 r e u s e d b y t h e T
0020160 e l e r a i d l o w - l e v e
0020200 l d e b u g g e r . T h e
0020220 s e c u r s o r s a r e n
0020240 o t a c c e s s a b l e a s
0020260 s t a n d a r d I n t e r l
0020300 i s p - D c u r s o r s . \r }
0020320 \r \r { E n d L a b e l e d L i
0020340 s t N a m e d c u r s o r s
0020360 } \r \r \r \r } { E n d S u b S e
0020400 c C h a n g i n g t h e C
0020420 u r s o r I m a g e } \r \r \r \r
0020440 \r { B e g i n S u b S e c F
0020460 l a s h i n g B a r s o n
0020500 t h e C u r s o r } \r { T i t
0020520 l e F l a s h i n g B a r s
0020540 o n t h e C u r s o r } \r
0020560 { T e x t \r \r { i n d e x * P
0020600 R I M A R Y * F l a s h i n g
0020620 b a r s o n c u r s o r }
0020640 \r { i n d e x * P R I M A R Y
0020660 * B a r s o n c u r s o r
0020700 } \r { i n d e x * P R I M A R
0020720 Y * I n v e r t e d c u r s
0020740 o r } \r \r T h e l o w - l e v
0020760 e l I n t e r l i s p - D s
0021000 y s t e m u s e s t h e c
0021020 u r s o r t o d i s p l a y
0021040 c e r t a i n s y s t e m
0021060 s t a t u s i n f o r m a t i
0021100 o n , s u c h a s g a r b
0021120 a g e c o l l e c t i o n o
0021140 r s w a p p i n g . T h i
0021160 s i s d o n e b e c a u s
0021200 e c h a n g i n g t h e c
0021220 u r s o r i m a g e i s v
0021240 e r y q u i c k , a n d d
0021260 o e s n o t r e q u i r e
0021300 i n t e r a c t i n g w i t h
0021320 t h e w i n d o w s y s t
0021340 e m . I n t e r l i s p
0021360 i n v e r t s h o r i z o n
0021400 t a l b a r s o n t h e
0021420 c u r s o r w h e n t h e
0021440 s y s t e m i s s w a p p i
0021460 n g p a g e s , o r d o i
0021500 n g c e r t a i n s t a c k
0021520 o p e r a t i o n s . N o
0021540 r m a l l y , t h e s e b a
0021560 r s a r e o n l y i n v e
0021600 r t e d f o r a v e r y
0021620 s h o r t t i m e , s o t
0021640 h e y l o o k l i k e t h
0021660 e y a r e f l a s h i n g .
0021700 T h e s e c u r s o r c
0021720 h a n g e s a r e i n t e r
0021740 p r e t e d a s f o l l o w
0021760 s : \r \r { B e g i n L a b e l
0022000 e d L i s t F l a s h i n g
0022020 b a r s o n c u r s o r } \r
0022040 \r { L a b e l I n v e r t e d
0022060 c u r s o r : \0 001 \0 \0 \0 020 \0
0022100 020 \0 001 177 377 ? 377 037 377 017 377 \a 377 003 377 003
0022120 377 017 377 ' 377 g 377 363 377 363 377 371 377 371 377 374
0022140 377 374 377 } \r { T e x t \r W h a t e
0022160 v e r i m a g e i s b e i
0022200 n g d i s p l a y e d a s
0022220 t h e c u r s o r , w h e n
0022240 e v e r I n t e r l i s p d
0022260 o e s a g a r b a g e c o
0022300 l l e c t i o n , t h e w h
0022320 o l e c u r s o r i s i n
0022340 v e r t e d . \r } \r \r { L a b e
0022360 l T o p b a r : \0 001 \0 \0 \0
0022400 020 \0 020 \0 001 177 377 300 \0 340 \0 360 \0 370 \0 374
0022420 \0 374 \0 360 \0 330 \0 230 \0 \f \0 \f \0 006 \0 006
0022440 \0 003 \0 003 \0 } \r { T e x t \r S w a
0022460 p r e a d . O n w h e n
0022500 I n t e r l i s p i s s w
0022520 a p p i n g i n a p a g e
0022540 f r o m t h e v i r t u a
0022560 l m e m o r y f i l e i n
0022600 t o t h e r e a l m e m o
0022620 r y . I t i s a l s o
0022640 o n w h e n I n t e r l i s
0022660 p a l l o c a t e s a n e
0022700 w v i r t u a l m e m o r y
0022720 p a g e , e v e n t h o u
0022740 g h t h a t d o e s n ' t
0022760 i n v o l v e a d i s k r
0023000 e a d . I f t h i s i s
0023020 f l a s h i n g a l o t ,
0023040 t h e s y s t e m i s d
0023060 o i n g a l o t o f s w
0023100 a p p i n g . T h i s i s
0023120 a n i n d i c a t i o n t
0023140 h a t t h e v i r t u a l
0023160 m e m o r y w o r k i n g s
0023200 e t i s f r a g m e n t e d
0023220 ( s e e { P a g e R e f T
0023240 e r m W o r k i n g S e t }
0023260 ) . P e r f o r m a n c e
0023300 m a y b e i m p r o v e d
0023320 b y r e l o a d i n g a c
0023340 l e a n I n t e r l i s p s
0023360 y s t e m . \r } \r \r { L a b e l
0023400 U p p e r m i d d l e b a
0023420 r : \0 001 \0 \0 \0 020 \0 020 \0 001 200 \0 300
0023440 \0 340 \0 360 \0 370 \0 374 \0 003 377 360 \0 330 \0 230
0023460 \0 \f \0 \f \0 006 \0 006 \0 003 \0 003 \0 } \r {
0023500 T e x t \r S t a c k o p e r a
0023520 t i o n s . I f t h i s
0023540 i s f l a s h i n g a l o
0023560 t , i t s u g g e s t s t
0023600 h a t s o m e p r o c e s s
0023620 i s n e g l e c t i n g t
0023640 o r e l e a s e s t a c k
0023660 p o i n t e r s i n a t i
0023700 m e l y f a s h i o n ( s e
0023720 e { P a g e R e f T e r m
0023740 R e l e a s i n g S t a c k
0023760 P o i n t e r s } ) . \r } \r \r {
0024000 L a b e l L o w e r e l e r
0024020 m i d d l e b a r : \0 001 \0 \0
0024040 \0 020 \0 020 \0 001 200 \0 300 \0 340 \0 360 \0 370 \0
0024060 374 \0 374 \0 360 \0 330 \0 g 377 \f \0 \f \0 006 \0
0024100 006 \0 003 \0 003 \0 } \r { T e x t \r S t
0024120 a c k o p e r a t i o n s .
0024140 O n w h e n I n t e r l i
0024160 s p i s m o v i n g f r a
0024200 m e s o n t h e s t a c k
0024220 . I f t h e s y s t e m
0024240 i s s l o w , a n d t h
0024260 i s i s f l a s h i n g a
0024300 l o t , { f n H A R D R E
0024320 S E T } ( { P a g e R e f F
0024340 n H A R D R E S E T } ) s o
0024360 m e t i m e s h e l p s . \r }
0024400 \r \r { L a b e l B o t t o m
0024420 b a r : \0 001 \0 \0 \0 020 \0 020 \0 001 200
0024440 \0 300 \0 340 \0 360 \0 370 \0 374 \0 374 \0 360 \0 330
0024460 \0 230 \0 \f \0 \f \0 006 \0 006 \0 003 \0 374 377 }
0024500 \r { T e x t \r S w a p w r i t
0024520 e . O n w h e n I n t e
0024540 r l i s p w r i t e s a d
0024560 i r t y v i r t u a l m e m
0024600 o r y p a g e f r o m t h
0024620 e r e a l m e m o r y b a
0024640 c k i n t o t h e v i r t
0024660 u a l m e m o r y f i l e .
0024700 \r } \r \r { E n d L a b e l e d
0024720 L i s t F l a s h i n g b a
0024740 r s o n c u r s o r } \r \r \r
0024760 \r } { E n d S u b S e c F l
0025000 a s h i n g B a r s o n t
0025020 h e C u r s o r } \r \r \r { B e
0025040 g i n S u b S e c C u r s o
0025060 r P o s i t i o n } \r { T i t
0025100 l e C u r s o r P o s i t i
0025120 o n } \r { T e x t \r \r \r T h e
0025140 p o s i t i o n a t w h i c
0025160 h t h e c u r s o r b i t
0025200 m a p i s b e i n g d i s
0025220 p l a y e d c a n b e r e
0025240 a d o r s e t u s i n g
0025260 t h e f o l l o w i n g f u
0025300 n c t i o n s : \r \r \r { F n D e
0025320 f { N a m e C U R S O R P O
0025340 S I T I O N } { A r g s N E
0025360 W P O S I T I O N D I S P L A
0025400 Y S T R E A M O L D P O S I T
0025420 I O N } \r { T e x t \r R e t u r
0025440 n s t h e l o c a t i o n
0025460 o f t h e c u r s o r i n
0025500 t h e c o o r d i n a t e
0025520 s y s t e m o f { a r g D
0025540 I S P L A Y S T R E A M } ( o
0025560 r t h e c u r r e n t d i
0025600 s p l a y s t r e a m , i f
0025620 { a r g D I S P L A Y S T R
0025640 E A M } i s { l i s p N I
0025660 L } ) . I f { a r g N E
0025700 W P O S I T I O N } i s n o
0025720 n - { l i s p N I L } , i t
0025740 s h o u l d b e a p o s
0025760 i t i o n a n d t h e c u
0026000 r s o r w i l l b e p o s
0026020 i t i o n e d a t { a r g
0026040 N E W P O S I T I O N } . I
0026060 f { a r g N E W P O S I T I
0026100 O N } i s { l i s p N I L
0026120 } , t h e c u r r e n t p
0026140 o s i t i o n i s s i m p l
0026160 e r e t u r n e d . \r \r N o t
0026200 e : T h e c u r r e n t
0026220 p o s i t i o n o f t h e
0026240 c u r s o r i s t h e p o
0026260 s i t i o n o f t h e " h
0026300 o t s p o t " o f t h e
0026320 c u r s o r , n o t t h e
0026340 p o s i t i o n o f t h e
0026360 c u r s o r b i t m a p . \r \r
0026400 I f { a r g O L D P O S I T
0026420 I O N } i s a { l i s p
0026440 P O S I T I O N } o b j e c t
0026460 , t h i s o b j e c t w i
0026500 l l b e c h a n g e d t o
0026520 p o i n t t o t h e l o
0026540 c a t i o n o f t h e c u
0026560 r s o r a n d r e t u r n e
0026600 d , r a t h e r o f a l l
0026620 o c a t i n g a n e w { l
0026640 i s p P O S I T I O N } .
0026660 T h i s c a n i m p r o v e
0026700 p e r f o r m a n c e i f
0026720 { f n C U R S O R P O S I T I
0026740 O N } i s c a l l e d r e
0026760 p e a t e d l y t o t r a c
0027000 k t h e c u r s o r . \r \r
0027020 N o t e : T o g e t t h
0027040 e l o c a t i o n o f t h
0027060 e c u r s o r i n a b s o
0027100 l u t e s c r e e n c o o r
0027120 d i n a t e s , u s e t h e
0027140 v a r i a b l e s { v a r
0027160 L A S T M O U S E X } a n d
0027200 { v a r L A S T M O U S E Y }
0027220 ( { P a g e R e f V a r L
0027240 A S T M O U S E X } ) . \r } } \r
0027260 \r \r { F n D e f { N a m e A
0027300 D J U S T C U R S O R P O S I T
0027320 I O N } { A r g s D E L T A
0027340 X D E L T A Y } \r { T e x t \r
0027360 M o v e s t h e c u r s o r
0027400 { a r g D E L T A X } p o
0027420 i n t s i n t h e X d i
0027440 r e c t i o n a n d { a r g
0027460 D E L T A Y } p o i n t s
0027500 i n t h e Y d i r e c t i
0027520 o n . { a r g D E L T A X }
0027540 a n d { a r g D E L T A Y
0027560 } d e f a u l t t o 0 . \r
0027600 } } \r \r \r } { E n d S u b S e
0027620 c C u r s o r P o s i t i o
0027640 n } \r \r \r \r { B e g i n S u b
0027660 S e c M o u s e B u t t o n
0027700 T e s t i n g } \r { T i t l e
0027720 M o u s e B u t t o n T e
0027740 s t i n g } \r { T e x t \r \r { i
0027760 n d e x * P R I M A R Y * M
0030000 o u s e K e y s } \r { i n d e
0030020 x * P R I M A R Y * K e y s
0030040 o n m o u s e } \r { i n d e
0030060 x * P R I M A R Y * M o u s
0030100 e b u t t o n s } \r { i n d e
0030120 x * P R I M A R Y * B u t t
0030140 o n s o n m o u s e } \r \r T
0030160 h e r e a r e t w o o r
0030200 t h r e e k e y s o n t h
0030220 e m o u s e . T h e s e
0030240 k e y s ( a l s o c a l l e
0030260 d b u t t o n s ) a r e r
0030300 e f e r r e d t o b y t h
0030320 e i r l o c a t i o n : { l
0030340 i s p L E F T } , { l i s p
0030360 M I D D L E } , o r { l i
0030400 s p R I G H T } . T h e
0030420 f o l l o w i n g m a c r o s
0030440 a r e p r o v i d e d t o
0030460 t e s t t h e s t a t e
0030500 o f t h e m o u s e b u t
0030520 t o n s : \r \r \r { M a c D e f
0030540 { N a m e M O U S E S T A T E
0030560 } { A r g s B U T T O N F O
0030600 R M } \r { T e x t \r R e a d s
0030620 t h e s t a t e o f t h e
0030640 m o u s e b u t t o n s ,
0030660 a n d r e t u r n s { l i s
0030700 p T } i f t h a t s t a
0030720 t e i s d e s c r i b e d
0030740 b y { a r g B U T T O N F O
0030760 R M } . { a r g B U T T O
0031000 N F O R M } c a n b e o n
0031020 e o f t h e k e y i n d
0031040 i c a t o r s { l i s p L E
0031060 F T } , { i n d e x L E F T
0031100 ( k e y i n d i c a t o r ) }
0031120 { l i s p M I D D L E } , {
0031140 i n d e x M I D D L E ( k e
0031160 y i n d i c a t o r ) } o r
0031200 { l i s p R I G H T } ; { i
0031220 n d e x R I G H T ( k e y
0031240 i n d i c a t o r ) } t h e
0031260 a t o m { l i s p U P } (
0031300 i n d i c a t i n g a l l k
0031320 e y s a r e u p ) ; t h e
0031340 f o r m { l i s p ( O N L
0031360 Y { a r g K E Y } ) } ; o
0031400 r a f o r m o f { l i s
0031420 p A N D } , { l i s p O R
0031440 } , o r { l i s p N O T }
0031460 a p p l i e d t o a n y
0031500 v a l i d b u t t o n f o r
0031520 m . \r \r F o r e x a m p l e :
0031540 { l i s p ( M O U S E S T A
0031560 T E L E F T ) } w i l l b
0031600 e t r u e i f t h e l e
0031620 f t m o u s e b u t t o n
0031640 i s d o w n . { l i s p
0031660 ( M O U S E S T A T E ( O N L
0031700 Y L E F T ) ) } w i l l b
0031720 e t r u e i f t h e l e
0031740 f t m o u s e b u t t o n
0031760 i s t h e o n l y o n e
0032000 d o w n . { l i s p ( M O
0032020 U S E S T A T E ( O R ( N O
0032040 T L E F T ) M I D D L E ) )
0032060 } w i l l b e t r u e i
0032100 f e i t h e r t h e l e f
0032120 t m o u s e b u t t o n i
0032140 s u p o r t h e m i d d
0032160 l e m o u s e b u t t o n
0032200 i s d o w n . \r } } \r \r \r { M
0032220 a c D e f { N a m e L A S T
0032240 M O U S E S T A T E } { A r g
0032260 s B U T T O N F O R M } \r { T
0032300 e x t \r S i m i l a r t o {
0032320 m a c M O U S E S T A T E } ,
0032340 b u t t e s t s t h e v
0032360 a l u e o f { v a r L A S
0032400 T M O U S E B U T T O N S } (
0032420 b e l o w ) r a t h e r t h
0032440 a n g e t t i n g t h e c
0032460 u r r e n t s t a t e . T
0032500 h i s i s u s e f u l f o
0032520 r d e t e r m i n i n g w h
0032540 i c h k e y s c a u s e d
0032560 { m a c M O U S E S T A T E }
0032600 t o b e t r u e . \r } } \r
0032620 \r \r { M a c D e f { N a m e
0032640 U N T I L M O U S E S T A T E }
0032660 { A r g s B U T T O N F O R
0032700 M I N T E R V A L } \r { T e x
0032720 t \r { a r g B U T T O N F O R
0032740 M } i s a s d e s c r i b
0032760 e d i n { m a c M O U S E
0033000 S T A T E } . W a i t s u
0033020 n t i l { a r g B U T T O N
0033040 F O R M } i s t r u e o r
0033060 u n t i l { a r g I N T E
0033100 R V A L } m i l l i s e c o n
0033120 d s h a v e e l a p s e d .
0033140 T h e v a l u e o f {
0033160 m a c U N T I L M O U S E S T
0033200 A T E } i s { l i s p T }
0033220 i f { a r g B U T T O N F
0033240 O R M } w a s s a t i s f i
0033260 e d b e f o r e i t t i m
0033300 e d o u t , o t h e r w i s
0033320 e { l i s p N I L } . I
0033340 f { a r g I N T E R V A L }
0033360 i s { l i s p N I L } ,
0033400 i t w a i t s i n d e f i n
0033420 i t e l y . T h i s c o m
0033440 p i l e s i n t o a n o p
0033460 e n l o o p t h a t c a l
0033500 l s t h e { l i s p T T Y
0033520 } w a i t b a c k g r o u n
0033540 d f u n c t i o n . T h i
0033560 s f o r m s h o u l d n o
0033600 t b e u s e d i n s i d e
0033620 t h e { l i s p T T Y }
0033640 w a i t b a c k g r o u n d
0033660 f u n c t i o n . { m a c
0033700 U N T I L M O U S E S T A T E }
0033720 d o e s n o t u s e a n
0033740 y s t o r a g e d u r i n g
0033760 i t s w a i t l o o p . \r
0034000 } } \r \r \r { B e g i n c o m m
0034020 e n t k e y s e t d e - d o
0034040 c u m e n t e d } \r T h e m a
0034060 c r o s { m a c K E Y S E T
0034100 S T A T E } { i n d e x K E Y
0034120 S E T S T A T E M a c } a n
0034140 d { m a c L A S T K E Y S E
0034160 T S T A T E } { i n d e x L A
0034200 S T K E Y S E T S T A T E M a
0034220 c } a r e i d e n t i c a l
0034240 t o { m a c M O U S E S T
0034260 A T E } a n d { m a c L A
0034300 S T M O U S E S T A T E } e x
0034320 c e p t t h a t t h e y a
0034340 l s o c h e c k t h e s t
0034360 a t e o f t h e f i v e -
0034400 f i n g e r k e y s e t a s
0034420 w e l l a s t h e s t a
0034440 t e o f t h e m o u s e
0034460 b u t t o n s . T h a t i
0034500 s t h e y c h e c k t h e
0034520 s t a t e o f b o t h t
0034540 h e m o u s e a n d t h e
0034560 k e y s e t . T h u s ,
0034600 i f t h e l e f t m o u s
0034620 e b u t t o n w a s t h e
0034640 o n l y m o u s e b u t t
0034660 o n h e l d d o w n , { l
0034700 i s p ( M O U S E S T A T E
0034720 ( O N L Y L E F T ) ) } w o
0034740 u l d b e { l i s p T }
0034760 e v e n t h o u g h a k e
0035000 y s e t k e y w a s d o w
0035020 n ; w h e r e a s { l i s p
0035040 ( K E Y S E T S T A T E ( O
0035060 N L Y L E F T ) ) } w o u l
0035100 d b e { l i s p N I L }
0035120 i f a k e y s e t b u t t
0035140 o n w e r e d o w n . \r \r
0035160 T h e n a m e s o f t h e
0035200 k e y s e t k e y s a r e
0035220 : { l i s p L E F T K E Y }
0035240 , { i n d e x L E F T K E Y
0035260 ( k e y i n d i c a t o r ) }
0035300 { l i s p L E F T M I D D L
0035320 E K E Y } , { i n d e x L E F
0035340 T M I D D L E K E Y ( k e y
0035360 i n d i c a t o r ) } { l i s
0035400 p M I D D L E K E Y } , { i n
0035420 d e x M I D D L E K E Y ( k
0035440 e y i n d i c a t o r ) } {
0035460 l i s p R I G H T M I D D L E
0035500 K E Y } { i n d e x R I G H T
0035520 M I D D L E K E Y ( k e y i
0035540 n d i c a t o r ) } a n d {
0035560 l i s p R I G H T K E Y } . {
0035600 i n d e x R I G H T K E Y (
0035620 k e y i n d i c a t o r ) } \r
0035640 { E n d c o m m e n t k e y
0035660 s e t d e - d o c u m e n t e
0035700 d } \r \r \r } { E n d S u b S e
0035720 c M o u s e B u t t o n T
0035740 e s t i n g } \r \r \r \r \r { B e g
0035760 i n S u b S e c L o w L e
0036000 v e l M o u s e F u n c t i
0036020 o n s } \r { T i t l e L o w
0036040 L e v e l M o u s e F u n c
0036060 t i o n s } \r { T e x t \r \r T h
0036100 i s s e c t i o n d e s c r
0036120 i b e s t h e f u n c t i o
0036140 n s a n d v a r i a b l e s
0036160 t h a t p r o v i d e l o
0036200 w l e v e l a c c e s s t
0036220 o t h e m o u s e a n d
0036240 c u r s o r . \r \r { F n D e f
0036260 { N a m e L A S T M O U S E X
0036300 } { A r g s D I S P L A Y S
0036320 T R E A M } \r { T e x t \r R e t
0036340 u r n s t h e v a l u e o
0036360 f t h e c u r s o r ' s X
0036400 p o s i t i o n i n t h e
0036420 c o o r d i n a t e s o f
0036440 { a r g D I S P L A Y S T R E
0036460 A M } ( a s o f t h e l
0036500 a s t c a l l t o { f n
0036520 G E T M O U S E S T A T E } ,
0036540 b e l o w ) . \r } } \r \r \r { F n
0036560 D e f { N a m e L A S T M O
0036600 U S E Y } { A r g s D I S P
0036620 L A Y S T R E A M } \r { T e x t
0036640 \r R e t u r n s t h e v a l
0036660 u e o f t h e c u r s o r
0036700 ' s Y p o s i t i o n i n
0036720 t h e c o o r d i n a t e s
0036740 o f { a r g D I S P L A Y
0036760 S T R E A M } ( a s o f t
0037000 h e l a s t c a l l t o
0037020 { f n G E T M O U S E S T A T
0037040 E } , b e l o w ) . \r } } \r \r
0037060 \r { V a r D e f { N a m e L
0037100 A S T M O U S E X } \r { T e x t
0037120 \r V a l u e i s t h e X
0037140 p o s i t i o n o f t h e
0037160 c u r s o r i n a b s o l u
0037200 t e s c r e e n c o o r d i
0037220 n a t e s ( a s o f t h e
0037240 l a s t c a l l t o { f
0037260 n G E T M O U S E S T A T E }
0037300 , b e l o w ) . \r } } \r \r \r {
0037320 V a r D e f { N a m e L A S
0037340 T M O U S E Y } \r { T e x t \r V
0037360 a l u e i s t h e Y p o
0037400 s i t i o n o f t h e c u
0037420 r s o r i n a b s o l u t e
0037440 s c r e e n c o o r d i n a
0037460 t e s ( a s o f t h e l
0037500 a s t c a l l t o { f n
0037520 G E T M O U S E S T A T E } ,
0037540 b e l o w ) . \r } } \r \r \r { V a
0037560 r D e f { N a m e L A S T M
0037600 O U S E B U T T O N S } \r { T e
0037620 x t \r V a l u e i s a n i
0037640 n t e g e r t h a t h a s
0037660 b i t s o n c o r r e s p o
0037700 n d i n g t o t h e m o u
0037720 s e b u t t o n s t h a t
0037740 a r e d o w n ( a s o f
0037760 t h e l a s t c a l l t o
0040000 { f n G E T M O U S E S T A
0040020 T E } , b e l o w ) . B i
0040040 t { l i s p 4 Q } i s t
0040060 h e l e f t m o u s e b u
0040100 t t o n , { l i s p 2 Q }
0040120 i s t h e r i g h t b u t
0040140 t o n , { l i s p 1 Q } i
0040160 s t h e m i d d l e b u t
0040200 t o n . \r \r { B e g i n c o m
0040220 m e n t k e y s e t d e - d
0040240 o c u m e n t e d } \r ( B i t s
0040260 { l i s p 2 0 0 Q } , { l
0040300 i s p 1 0 0 Q } , { l i s p
0040320 4 0 Q } , { l i s p 2 0 Q
0040340 } , a n d { l i s p 1 0 Q
0040360 } g i v e t h e s t a t e
0040400 o f t h e k e y s e t k
0040420 e y s , f r o m l e f t t
0040440 o r i g h t , i f y o u
0040460 h a v e a k e y s e t . ) \r
0040500 { E n d c o m m e n t k e y
0040520 s e t d e - d o c u m e n t e
0040540 d } \r } } \r \r { V a r D e f {
0040560 N a m e L A S T K E Y B O A R
0040600 D } \r { T e x t \r V a l u e i
0040620 s a n i n t e g e r e n c
0040640 o d i n g t h e s t a t e
0040660 o f c e r t a i n k e y s
0040700 o n t h e k e y b o a r d
0040720 ( a s o f t h e l a s t
0040740 c a l l t o { f n G E T M
0040760 O U S E S T A T E } , b e l o
0041000 w ) . B i t { l i s p 2
0041020 0 0 Q } = l o c k , { l i
0041040 s p 1 0 0 Q } = l e f t
0041060 s h i f t , { l i s p 4 0 Q
0041100 } = c t r l , { l i s p
0041120 1 0 Q } = r i g h t s h i
0041140 f t , { l i s p 4 Q } =
0041160 b l a n k B o t t o m , {
0041200 l i s p 2 Q } = b l a n k
0041220 M i d d l e , { l i s p 1
0041240 Q } = b l a n k T o p .
0041260 I f t h e k e y i s d
0041300 o w n , t h e c o r r e s p
0041320 o n d i n g b i t i s o n
0041340 . \r } } \r \r { F n D e f { N a
0041360 m e G E T M O U S E S T A T E
0041400 } \r { T e x t \r R e a d s t h
0041420 e c u r r e n t s t a t e
0041440 o f t h e m o u s e a n d
0041460 s e t s t h e v a r i a b
0041500 l e s { v a r L A S T M O U
0041520 S E X } , { v a r L A S T M
0041540 O U S E Y } , a n d { v a r
0041560 L A S T M O U S E B U T T O N
0041600 S } . I n p o l l i n g
0041620 m o d e , t h e p r o g r a
0041640 m m u s t r e m e m b e r
0041660 t h e p r e v i o u s s t a
0041700 t e a n d l o o k f o r
0041720 c h a n g e s , s u c h a s
0041740 a k e y g o i n g u p
0041760 o r d o w n , o r t h e
0042000 c u r s o r m o v i n g o u
0042020 t s i d e a r e g i o n o
0042040 f i n t e r e s t . \r } } \r \r
0042060 \r { F n D e f { N a m e D E
0042100 C O D E B U T T O N S } { A r
0042120 g s B U T T O N S T A T E } \r
0042140 { T e x t \r R e t u r n s a
0042160 l i s t o f t h e m o u s
0042200 e b u t t o n s t h a t a
0042220 r e d o w n i n t h e s
0042240 t a t e { a r g B U T T O N
0042260 S T A T E } . I f { a r g
0042300 B U T T O N S T A T E } i s
0042320 n o t a s m a l l i n t
0042340 e g e r , t h e v a l u e
0042360 o f { v a r L A S T M O U S
0042400 E B U T T O N S } ( a b o v e
0042420 ) i s u s e d . T h e
0042440 b u t t o n n a m e s t h a
0042460 t c a n b e r e t u r n e
0042500 d a r e : { l i s p L E F
0042520 T } , { l i s p M I D D L E
0042540 } , { l i s p R I G H T }
0042560 ( t h e t h r e e m o u s e
0042600 k e y s ) . \r \r { B e g i n
0042620 c o m m e n t k e y s e t d
0042640 e - d o c u m e n t e d } \r { l
0042660 i s p L E F T K E Y } , { l
0042700 i s p L E F T M I D D L E K E
0042720 Y } , { l i s p M I D D L E
0042740 K E Y } , { l i s p R I G H
0042760 T M I D D L E K E Y } a n d
0043000 { l i s p R I G H T K E Y }
0043020 ( t h e f i v e k e y s e t
0043040 k e y s ) . \r { E n d c o m
0043060 m e n t k e y s e t d e - d
0043100 o c u m e n t e d } \r } } \r \r \r
0043120 { B e g i n C o m m e n t F
0043140 l u s h e d } \r { V a r D e f
0043160 { N a m e L A S T M O U S E T
0043200 I M E } { T e x t T h e t
0043220 i m e i n m i l l i s e c o
0043240 n d s s i n c e t h e m o
0043260 u s e w a s l a s t r e a
0043300 d ( s i n c e t h e l a s
0043320 t c a l l t o { l i s p
0043340 G E T M O U S E S T A T E } .
0043360 { v a r L A S T M O U S E T
0043400 I M E } i s a 1 6 - b i t
0043420 p o s i t i v e i n t e g e
0043440 r s o i t r o l l s o v
0043460 e r e v e r y 6 5 + s e c
0043500 o n d s . } } \r { E n d C o m
0043520 m e n t F l u s h e d } \r \r \r
0043540 \r } { E n d S u b S e c L o
0043560 w L e v e l M o u s e F u
0043600 n c t i o n s } \r \r \r } { E n d
0043620 S u b S e c C u r s o r a
0043640 n d M o u s e } \r \r \r \r \r \r \0
0043660 \0 \0 \0 \0 004 \0 003 \0 ? \0 1 ( D E F A
0043700 U L T F O N T 1 ( G A C H A
0043720 1 0 ) ( G A C H A 8 ) (
0043740 T E R M I N A L 8 ) ) \0 \n \0 \0
0043760 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U
0044000 L T F O N T 1 ( G A C H A
0044020 1 0 ) ( G A C H A 8 ) ( T
0044040 E R M I N A L 8 ) ) \0 \n \0 \0 \0
0044060 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U L
0044100 T F O N T 1 ( G A C H A 1
0044120 0 ) ( G A C H A 8 ) ( T E
0044140 R M I N A L 8 ) ) \0 \n \0 \0 \0 \0
0044160 \0 \0 \0 \0 \0 \0 \r 322 \0 \0 \0 \0 003 \0 \0 \0
0044200 * \0 001 \0 \f B M O B J . G E T F N
0044220 2 \0 \0 \0 002 030 \0 \0 \0 \0 003 \0 \0 \0 * \0
0044240 001 \0 \f B M O B J . G E T F N 2 \0
0044260 \0 \0 \0 i \0 \0 \0 \0 003 \0 \0 \0 * \0 001 \0
0044300 \f B M O B J . G E T F N 2 \0 \0 \0
0044320 \0 220 \0 \0 \0 \0 003 \0 \0 \0 * \0 001 \0 \f B
0044340 M O B J . G E T F N 2 \0 \0 \0 001 ;
0044360 \0 \0 \0 \0 003 \0 \0 \0 & \0 001 \0 \f B M O
0044400 B J . G E T F N 2 \0 \0 \0 \0 273 \0 \0
0044420 \0 \0 003 \0 \0 \0 $ \0 001 \0 \f B M O B J
0044440 . G E T F N 2 \0 \0 \0 001 002 \0 \0 \0 \0
0044460 003 \0 \0 \0 ( \0 001 \0 \f B M O B J . G
0044500 E T F N 2 \0 \0 \0 \0 225 \0 \0 \0 \0 003 \0
0044520 \0 \0 " \0 001 \0 \f B M O B J . G E T
0044540 F N 2 \0 \0 \0 \0 262 \0 \0 \0 \0 003 \0 \0 \0
0044560 * \0 001 \0 \f B M O B J . G E T F N
0044600 2 \0 \0 \0 \0 224 \0 \0 \0 \0 003 \0 \0 \0 & \0
0044620 001 \0 \f B M O B J . G E T F N 2 \0
0044640 \0 \0 \0 235 \0 \0 \0 \0 003 \0 \0 \0 \0 001 \0
0044660 \f B M O B J . G E T F N 2 \0 \0 \0
0044700 \0 R \0 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \f B
0044720 M O B J . G E T F N 2 \0 \0 \0 \0 Q
0044740 \0 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \f B M O
0044760 B J . G E T F N 2 \0 \0 \0 \0 P \0 \0
0045000 \0 \0 003 \0 \0 \0 \0 001 \0 \f B M O B J
0045020 . G E T F N 2 \0 \0 \0 \0 327 \0 \0 \0 \0
0045040 003 \0 \0 \0 $ \0 001 \0 \f B M O B J . G
0045060 E T F N 2 \0 \0 \0 \0 226 \0 \0 \0 \0 003 \0
0045100 \0 \0 * \0 001 \0 \f B M O B J . G E T
0045120 F N 2 \0 \0 \0 \0 S \0 \0 \0 \0 003 \0 \0 \0
0045140 * \0 001 \0 \f B M O B J . G E T F N
0045160 2 \0 \0 \0 \0 P \0 \0 \0 \0 003 \0 \0 \0 * \0
0045200 001 \0 \f B M O B J . G E T F N 2 \0
0045220 \0 \0 \0 323 \0 \0 \0 \0 003 \0 \0 \0 $ \0 001 \0
0045240 \f B M O B J . G E T F N 2 \0 \0 \0
0045260 \0 232 \0 \0 \0 \0 003 \0 \0 \0 036 \0 001 \0 \f B
0045300 M O B J . G E T F N 2 \0 \0 \0 \0 T
0045320 \0 \0 \0 \0 003 \0 \0 \0 036 \0 001 \0 \f B M O
0045340 B J . G E T F N 2 \0 \0 \0 \0 R \0 \0
0045360 \0 \0 003 \0 \0 \0 036 \0 001 \0 \f B M O B J
0045400 . G E T F N 2 \0 \0 \0 \0 327 \0 \0 \0 \0
0045420 003 \0 \0 \0 ( \0 001 \0 \f B M O B J . G
0045440 E T F N 2 \0 \0 \0 \0 002 \0 \0 \0 \0 003 \0
0045460 \0 \0 032 \0 001 \0 \f B M O B J . G E T
0045500 F N 2 \0 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0
0045520 032 \0 001 \0 \f B M O B J . G E T F N
0045540 2 \0 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 030 \0
0045560 001 \0 \f B M O B J . G E T F N 2 \0
0045600 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 030 \0 001 \0
0045620 \f B M O B J . G E T F N 2 \0 \0 \0
0045640 \0 002 \0 \0 \0 \0 003 \0 \0 \0 030 \0 001 \0 \f B
0045660 M O B J . G E T F N 2 \0 \0 \0 \0 002
0045700 \0 \0 \0 \0 003 \0 \0 \0 & \0 001 \0 \f B M O
0045720 B J . G E T F N 2 \0 \0 \0 003 360 \0 \0
0045740 \0 \0 003 \0 \0 \0 * \0 001 \0 \f B M O B J
0045760 . G E T F N 2 \0 \0 \0 \0 230 \0 \0 \0 \0
0046000 003 \0 \0 \0 * \0 001 \0 \f B M O B J . G
0046020 E T F N 2 \0 \0 \0 001 356 \0 \0 \0 \0 003 \0
0046040 \0 \0 * \0 001 \0 \f B M O B J . G E T
0046060 F N 2 \0 \0 \0 \0 337 \0 \0 \0 \0 003 \0 \0 \0
0046100 * \0 001 \0 \f B M O B J . G E T F N
0046120 2 \0 \0 \0 \0 317 \0 \0 \0 \0 003 \0 \0 \0 * \0
0046140 001 \0 \f B M O B J . G E T F N 2 \0
0046160 \0 \0 036 p \0 \0 \0 \0 003 \0 \0 G 257 \0 E z
0046200 272
0046201