Scancode

From BR Wiki
Revision as of 15:47, 28 July 2015 by Laura (talk | contribs)
Jump to navigation Jump to search

A scan code is a two-part or four-part hexadecimal code associated with a keystroke (so called because it comes from scanning the keyboard).

To determine the standardized Business Rules scancodes, run the following program:

10 LET X$ = KSTAT$(1)
20 PRINT UNHEX$(X$)
30 GOTO 10

Each time you press a key, the scancode for that key is displayed.

Here are a few of the Scan codes:

Key Scan Code
Tab 09
Shift+Tab 07
Down Arrow 0A
Up Arrow 0B
Left Arrow 0E
Right Arrow 0C
F7 0700
Shift+F7 1100
Alt+Down Arrow E300

Here's a complete list:

Key Shifted (IBM-PC) Kstat Shifted (qwerty) Control Description
Key Alt
a A 61 41 1E00 01 interrupt/break
b B 62 42 3000 02 page up (back)
c C 63 43 2E00 03 copy to clipboard
d D 64 44 2000 04 delete
e E 65 45 1200 05 end field
f F 66 46 2100 06 page down (forward)
g G 67 47 2200 07 backtab
h H 68 48 2300 08 backspace
i I 69 49 1700 09 tab
j J 6A 4A 2400 0A next field
k K 6B 4B 2500 0B prior field
l L 6C 4C 2600 0C right arrow
m M 6D 4D 3100 0D enter
n N 6E 4E 3200 0E left arrow
o O 6F 4F 1800 0F field minus
p P 70 50 1900 10 print screen
q Q 71 51 1000 11 toggle insert mode
r R 72 52 1300 12 up field (rise)
s S 73 53 1F00 13 togge hold mode (stop)
t T 74 54 1400 14 down field
u U 75 55 1600 15 field plus
v V 76 56 2F00 16 paste clipboard content
w W 77 57 1100 17 home
x X 78 58 2D00 18 cut to clipboard
y Y 79 59 1500 19 help
z Z 7A 5A 2C00 1A restore field contents
1 ! 31 21 7800
2 @ 32 40 7900
3 # 33 23 7A00
4 $ 34 24 7B00
5 % 35 25 7C00
6 ^ 36 5E 7D00
7 & 37 26 7E00
8 * 38 2A 7F00
9 ( 39 28 8000
0 ) 30 29 8100
` ~ 60 7E 8300
= + 3D 2B 8400
[ { 5B 7B 8500 6300 escape
] } 5D 7D 8600 1D shell call
\ 5C 7C 8700 1C toggle line draw
; : 3B 3A 8800
' " 27 22 8900
, < 2C 3C 8A00
. > 2E 3E 8B00
/ ? 2F 3F 8C00
tab 09 07 B900 B700 - ctrl-shift
field+ 15 15 15 15
field- 0F 0F 0F 0F


Key Shifted (IBM-PC) Kstat Shifted (qwerty) Control Description
Key Alt
enter 0D A400 E400 C400
home 17 A500 E500 C500
end 05 A600 E600 C600
pageUp 02 A700 E700 C700
pageDn 06 A800 E800 C800
up-arrow 0B A200 E200 C200
down-arrow 0A A300 E300 C300
left arrow 0E A000 E000 C000
right arrow 0C A100 E100 C100
up-arrow 0B A200 E200 C200
down-arrow 0A A300 E300 C300
left arrow 0E A000 E000 C000
right arrow 0C A100 E100 C100
left click B000 B600 - used internally - mouse left up
second left B100
right click B400
second right B500
wheel up 7C00
wheel down 7D00
F1 0100 0B00 0100 1500
F2 0200 0C00 0200 1600
F3 0300 0D00 0300 1700
F4 0400 0E00 5D00 1800
F5 0500 0F00 0500 1900
F6 0600 1000 0600 1A00
F7 0700 1100 0700 1B00
F8 0800 1200 0800 1C00
F9 0900 1300 0900 1D00
F10 0A00 1400 0A00 1E00
F11 0B00 1500 0B00 1F00
F12 0C00 1600 0C00 2000

Note that BR retains select (hilite) status while shift or control remain depressed after a program receives control in navigation mode. When in edit mode, the control key temporarily switches to navigation mode.

See the KStat$ internal function for more information.