| 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) |
| ' 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 |
| 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 = |