|
|||||||
Uncommon Knowledge - WC_WEXIT_KEYS%Field mark delimited array of scan codes of keys used to exit Scribe currently having the following structure (N.B. because this array contains @Int.Const it is subject to change in later releases). As the keys below are generally soft (being taken from arrays such as @Move.Keys et al) the equate name from EDIT.KEYS is given with the default assignment in brackets following. < 1 > Literal "?!" < 2 > - < 31 > Same structure as @Insert as documented in the insert block EDIT.KEYS. < 32 > Last.Page$ (Ctrl PgDn) < 33 > First.Page$ (Ctrl PgUp) < 34 >+ Softkeys if defined Relations keys if defined < 34 + n > (Where n is number of softkeys and relations defined) Literal "?!" < 35 + n > Alt C - Copy record key. Hard coded. Cannot be changed to another key definition. < 36 + n > Page.Down$ (PgDn) < 37 + n > Page.Up$ (PgUp) < 38 + n > Blank < 39 + n > Enter$ (Char 13) < 40 + n > Down$ (Arrow down) < 41 + n > Up$ (Arrow Up) < 42 + n > Ins_Line$ (Ctrl-N) < 43 + n > Del_Line$ (Ctrl-D) < 44 + n > To_Line$ (Ctrl-G) Disabling keys on the fly is thus made possible by locating the appropriate field within WExit_Keys and nulling it down (saving off a copy in case it is required to be restored later). Changing the definition of a key on the fly is less simple though. An attempt to assign Save to the + key by adding + to WExit_Keys will fail, as although this will cause scribe to exit when + is pressed, the window interpreter still does not recognise the code entered. This tends to suggest that it is checking WExit_Keys for valid exit keys, but checking the original array for the actual action keys. Thus to make + save records on the fly one would have to change WExit_Keys AND amend @Int.Const as follows :- 0001 Subroutine Make_Plus_Save 0002 $Insert Include, Window_Common% 0003 WC_Wexit_Keys<7> = Char(43) 0004 @Int.Const<6> = Char(43) 0005 Return (Volume 4, Issue 1, Pages 11,12) |
|||||||
| |||||||