version 1.1, 1999/08/29 15:45:19
|
version 1.2, 1999/12/03 18:35:15
|
Line 142 create ekey-buffer 8 chars allot
|
Line 142 create ekey-buffer 8 chars allot
|
then ( xt addr u ) |
then ( xt addr u ) |
nextname alias ; |
nextname alias ; |
|
|
|
\ nac02dec1999 exclude the escape sequences if we are using crossdoc.fs to generate |
|
\ a documentation file. Do this because key sequences [ and OR here clash with |
|
\ standard names and so prevent them appearing in the documentation. |
|
[IFUNDEF] put-doc-entry |
get-current esc-sequences set-current |
get-current esc-sequences set-current |
|
|
\ esc sequences (derived by using key-sequence in an xterm) |
\ esc sequences (derived by using key-sequence in an xterm) |
Line 170 get-current esc-sequences set-current
|
Line 174 get-current esc-sequences set-current
|
' k12 s" [24~" esc-sequence |
' k12 s" [24~" esc-sequence |
|
|
set-current |
set-current |
|
[ENDIF] |
|
|
: clear-ekey-buffer ( -- ) |
: clear-ekey-buffer ( -- ) |
ekey-buffer 0 ekey-buffered 2! ; |
ekey-buffer 0 ekey-buffered 2! ; |
|
|
: ekey ( -- u ) |
: ekey ( -- u ) \ facility-ext e-key |
key dup #esc = |
key dup #esc = |
if |
if |
drop clear-ekey-buffer |
drop clear-ekey-buffer |
esc-prefix |
esc-prefix |
then ; |
then ; |
|
|
: ekey>char ( u -- u false | c true ) |
: ekey>char ( u -- u false | c true ) \ facility-ext e-key-to-char |
dup 256 u< ; |
dup 256 u< ; |
|
|
: esc? ( -- flag ) recursive |
: esc? ( -- flag ) recursive |
Line 199 set-current
|
Line 204 set-current
|
then |
then |
true ; |
true ; |
|
|
: ekey? ( -- flag ) |
: ekey? ( -- flag ) \ facility-ext e-key-question |
|
\G Return @code{true} if a keyboard event is available (use |
|
\G @code{ekey} to receive the event), @code{false} otherwise. |
key? |
key? |
if |
if |
key dup #esc = |
key dup #esc = |