Playing with Scan Codes
What's New (and un(der)documented!) In 2.12
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
Playing with Scan Codes
Utility Diskette # 3 - Part I
@ATTACK - @File.Error
@ATTACK - @File.Error.Mode
@ATTACK - @Last.Error
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
RTP5 and RTP51
QTIPS - Standardising Error Message Display
QTIPS - Interrupt Proof Error Messages
Version 3 Technical Highlights - ValidateName
RTP5 and RTP51
RevTi Just Wanna Have Fun
Reader's Clinic - Functions and Subroutines
Reader's Letters - Jim Owen
Playing with Scan Codes
Argument passing - Subroutines and Functions - Mike Pope
Redefining Keys
Referential Integrity
@ATTACK - @Edit.Keys
@ATTACK - @Environ.Keys
@ATTACK - @Int.Const
@ATTACK - @Move.Keys
@ATTACK - @Priority.Int
@ATTACK - @Macro.Keys
@ATTACK - @Macro.Mode
Playing with Scan Codes
Uncommon Knowledge - WC_Unkeys%
Uncommon Knowledge - WC_Except_Keys%
Uncommon Knowledge - WC_Soft_Keys%
Popups
Catalyst Tips
SecureUser
VERBatim - V86
Advanced Revelation Initialisation Sequence (Overview) by Mike Pope
Video Control
Utility Diskette # 3 - Part II
Reader's Clinic - Slow Multivalued Screen Display
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%
QTIPS - DOS File Names
DOS Interfacing (Part II)
VERBatim - V116
@ATTACK - @Pri.File
@ATTACK - @Rollout.File
File Variables
How Indexes Are Updated
Index Record Layouts
QTIPS - File Variable of File In SELECT Statement
QTIPS - Amending non-Attached Files
LINEAR HASH FILE STRUCTURES - Part 1
Index Flush
QTIPS - File Handle Structure
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 - @Modal
@ATTACK - @Cursors(x)
@ATTACK - @List.Active
@ATTACK - @Rec.Count
Playing with Scan Codes
QTIPS - SET.MACROS - Choosing Active Macro Set
Reader's Forum
Utility Diskette # 4
Version 3 Technical Highlights - Customising NewApplication Creation
Vroom
RTP Series - RTP32
Utility Diskette # 3 - Part I
File Variables
LINEAR HASH FILE STRUCTURES - Part 1
QTIPS - File Handle Structure
Utility Diskette # 3 - Part I
Utility Diskette # 3 - Part II
Form.List.S
QTIPS - Aesthetically Improving RLIST Reports
QTIPS - Form Processor
QTIPS - Suppressing Initial Form Feed
QTIPS - Using RTP29 In Place of V6
REVMEDIA Revisted
RTP Series - RTP27
QTIPS - Printing Large Variables from the Debugger
VERBatim - V87
VERBatim - V39
Esc.To.Exit
Utility Diskette # 3 - Part I
Playing with Scan Codes
QTIPS - TCL Disabled
Window or Not ?
Vroom - Window Processing
QTIPS - Window Symbol Tables
VROOM - Window Processing II
@ATTACK - @HW
Uncommon Knowledge - WC_Reset%
Reader's Clinic - Related Windows
Window or Not?
Reader's Clinic - Scribe Replace Processes in Window
Soft Windows
QTIPS - Window Bug and Debugging Window Bug
Overlapping Windows And Window Menus
QTIPS - New Catalyst Option
QTIPS - Collectors on the fly
QTIPS - Blank Menus in Windows
QTIPS - Moving Objects the EASY way.
Reader's Clinic - Page Marks in Windows
VERBatim - V6
QTIPS - Suppressing Initial Form Feed
QTIPS - Using RTP29 In Place of V6
Reader's Clinic - Naming Routines
Reader's Clinic - Prompting for Passwords
Reader's Clinic - Removing "Searching Cross References" Message
Message
Trapping Message Calls
A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd
QTIPS - Standardising Error Message Display
QTIPS - Interrupt Proof Error Messages
QTIPS - Improving the Message Window
Version 3 Technical Highlights - New Message Types

RevMedia FKB

DocumentV2I6A3
TitlePlaying with Scan Codes
KeywordsSCAN
CODE
ACTIVE.KEYS
SYS.HELP
DISABLE.KEYS
FAT.FINGER
FUNCTION.KEY
KEYBOARD
B245
TextThe 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)
[revmedia/copyrigh.htm]

Page last modified: 08/02/03