home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zodiac Super OZ
/
MEDIADEPOT.ISO
/
FILES
/
13
/
N_B_V203.ZIP
/
KEYS.DMO
< prev
next >
Wrap
Text File
|
1996-07-04
|
6KB
|
128 lines
$if 0
┌──────────────────────────╖ PowerBASIC v3.20
┌──┤ DASoft ╟──────────────────────┬──────────────────╖
│ ├──────────────────────────╢ Copyright 1995 │ DATE: 1995-10-01 ╟─╖
│ │ FILE NAME KEYS .DMO ║ by ╘════════════════─ ║ ║
│ │ ║ Don Schullian, Jr. ║ ║
│ ╘══════════════════════════╝ ║ ║
│ A license is hereby granted to the holder to use this source code in ║ ║
│ any program, commercial or otherwise, without receiving the express ║ ║
│ permission of the copyright holder and without paying any royalties, ║ ║
│ as long as this code is not distributed in any compilable format. ║ ║
│ IE: source code files, PowerBASIC Unit files, and printed listings ║ ║
╘═╤═════════════════════════════════════════════════════════════════════╝ ║
│ .................................... ║
╘═══════════════════════════════════════════════════════════════════════╝
$endif
'.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
$INCLUDE "DAS-NB01.INC"
COLOR 7, 0
CLS
? "There are 3 sets of shift keys: SHIFT, CTRL, and ALT. These keys are either
? "in an UP or DOWN state. Each individual key can be tested for separately or
? "you can get the status of either in any pair. There are, also, 4 ON/OFF keys:
? "CAPS LOCK, SCROLL LOCK, NUM LOCK, and INS. The state of these keys can be
? "tested for, changed, or set as you require. The odd man out is the INS key
? "as it alone has a scan-code and sends an ascii value to the keyboard buffer.
? "┌───────────────────────┬─────────────────────────────────────────────────────╖
? "│ ACME KEYBOARD COMPANY │ ┌─────────────╖ ║
? "├───────────────────────┘ │ SCROLL LOCK ║ ║
? "│ ╘═════════════╝ ║
? "│ ┌───────────╖ ┌──────────╖ ║
? "│ │ CAPS LOCK ║ │ NUM LOCK ║ ║
? "│ ╘═══════════╝ ╘══════════╝ ║
? "│ ┌───────╖ ┌───────╖ ║
? "│ │ SHIFT ║ │ SHIFT ║ ║
? "│ ╘═══════╝ ╘═══════╝ ║
? "│ ┌──────╖ ┌─────╖ ┌─────────────────────╖ ┌─────╖ ┌──────╖ ┌─────╖ ║
? "│ │ CTRL ║ │ ALT ║ │ SPACE BAR ║ │ ALT ║ │ CTRL ║ │ INS ║ ║
? "│ ╘══════╝ ╘═════╝ ╘═════════════════════╝ ╘═════╝ ╘══════╝ ╘═════╝ ║
? "╘═════════════════════════════════════════════════════════════════════════════╝
? " PRESS <SPACE> TO END THIS MADNESS!"
Caps% = fIsCAPSon% ' save the original state
Scroll% = fIsSCROLLon% ' of the toggle keys so we
Num% = fIsNUMon% ' can return your keyboard
Ins% = fIsINSon% ' to it's original value
SetCAPSoff ' when we exit this program.
SetSCROLLoff
SetNUMoff
SetINSoff
ClearKeyboard ' just in case!
DO '
IF fIsSCROLLon% THEN ' this chunk of code is VERY
COLOR 0, 7 ' inefficient but it works,
ELSE ' was easy to code and displays
COLOR 7, 0 ' each function well.
END IF '
LOCATE 9,63 : PRINT " SCROLL LOCK " ' "A good excuse is better than
IF fIsCAPSon% THEN ' good code." B.G. circa 1970
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 12, 4 : PRINT " CAPS LOCK "
IF fIsNUMon% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 12,66 : PRINT " NUM LOCK "
IF fIsINSon% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 18,71 : PRINT " INS "
IF fLCTRLdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 18, 4 : PRINT " CTRL "
IF fRCTRLdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 18,53 : PRINT " CTRL "
IF fLALTdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 18,13 : PRINT " ALT "
IF fRALTdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 18,45 : PRINT " ALT "
IF fLSHIFTdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 15, 4 : PRINT " SHIFT "
IF fRSHIFTdown% THEN
COLOR 0, 7
ELSE
COLOR 7, 0
END IF
LOCATE 15,52 : PRINT " SHIFT "
LOOP UNTIL INKEY$ = CHR$(32)
IF Caps% THEN SetCAPSon ELSE SetCAPSoff ' return the keyboard to it's
IF Scroll% THEN SetSCROLLon ELSE SetSCROLLoff ' original state here.....
IF Num% THEN SetNUMon ELSE SetNUMoff '
IF Ins% THEN SetINSon ELSE SetINSoff '
COLOR 7, 0 ' fix the colors, too
CLS ' clear the screen
END ' <NO COMMENT>