| Background Processing |
| Creating Your Own Background Processes |
| @ATTACK - @Index.Time |
| How Indexes Are Updated |
| SecureUser |
| VERBatim - V25 |
| @ATTACK - @Files.System |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisted |
| Reader's Clinic - Functions and Subroutines |
| Reader's Letters - Jim Owen |
| Playing with Scan Codes |
| Argument passing - Subroutines and Functions - Mike Pope |
| Prompt Help |
| QTIPS - Improved Menu Help 1 |
| QTIPS - Improved Menu Help 2 |
| @ATTACK - @Macro.Hex |
| Playing with Scan Codes |
| Uncommon Knowledge - WC_Detail_Help% |
| Uncommon Knowledge - WC_Protect_Help% |
| Creating Your Own Background Processes |
| @ATTACK - @Last.Select.Process |
| Reader's Forum |
| QTIPS - Menu Item Pre-Processing |
| VERBatim - V16 |
| @ATTACK - @Int.Const |
| @ATTACK - @Move.Keys |
| @ATTACK - @Priority.Int |
| @ATTACK - @Macro.Mode |
| Uncommon Knowledge - WC_Unkeys% |
| Utility Diskette # 3 - Part I |
| Utility Diskette # 4 |
| @ATTACK - @Cursors(x) |
| @ATTACK - @List.Active |
| @ATTACK - @Rec.Count |
| Playing with Scan Codes |
| QTIPS - SET.MACROS - Choosing Active Macro Set |
| Reader's Forum |
| Form.List.S |
| QTIPS - Aesthetically Improving RLIST Reports |
| QTIPS - Form Processor |
| QTIPS - Suppressing Initial Form Feed |
| QTIPS - Using RTP29 In Place of V6 |
RevMedia FKB
| Document | V2I6A3 |
| Title | Playing with Scan Codes |
| Keywords | SCAN CODE ACTIVE.KEYS SYS.HELP DISABLE.KEYS FAT.FINGER FUNCTION.KEY KEYBOARD B245 |
| Text | The issue of keyboard control has not previously been addressed in REVMEDIA so here all of the system routines relating to scan codes are explored Using these routines it is possible to improve system error messages access scan codes easily and translate between these function keys and English with alacrity ACTIVE KEYS SUBROUTINE 1 passed parameter This is the routine responsible for displaying the "Active Keys" popup when the user presses [Ctrl F9] It retrieves the information to display from the SYS HELP file where it is stored as a record WITH a key of type KEYS*PROCESS where PROCESS is one of the DEFINED keymaps such as EDIT or WINDOW To use an existing map just call ACTIVE KEYS(PROCESS) eg CALL ACTIVE KEYS("WINDOW") The routine will add the KEYS* retrieve the record and display the popup To add user DEFINED maps create a record in SYS HELP WITH one field per line of popup Each field has the structure KEY_NAME : @VM : KEY_DESCRIPTION : @VM : KEYSTROKE All three values are optional The 1st is the short name for the key the 2nd is the description for the key's function The 3rd entry is the expanded form of the key name enclosed in {} This enables ACTIVE KEYS to return this keystoke to the program if the user presses return on a row of the popup Thus a typical entry might be Esc 2 Press to exit program 2 {ESC} 2 Or other keys are F9 2 Save the record 2 {F9} DISABLE KEYS SUBROUTINE 1 passed parameter This is the routine responsible for allowing the developer to choose which keys to disable in Window It returns a field mark delimited set of scan codes corresponding to the keys disabled If the parameter passed is a field mark delimited set of scan codes these options will be pre tagged as disabled FAT FINGER SUBROUTINE 4 passed parameters This is the routine responsible for the "B245" message ("The "Alt P" key is not active in Roam mode") The first and fourth parameters seem not to be used The second should be the scan CODE which is at fault and the third should be the program name or description to be slotted in between "not active" and "Press Ctrl F9" Note that the system will automatically convert the scan code to its more usual form FUNCTION KEY FUNCTION 1 passed parameter Passed a function key short name (F2 Ctrl F6 et al) this function returns the scan code KEYBOARD FUNCTION 1 passed parameter Passed a scan code (for any key) this function returns the meaningful "English" name for the key EG passed CHAR(0) : CHAR(99) this function would return "Ctrl F6" (Volume 2 Issue 6 PAGE 4) |
Page last modified: 08/02/03