MLHA - PC - Programmering - BASIC - QBASIC - Keyboard
>Key codes >Numeric codes >Scan+Ascii
The keyboard may be read with INKEY$, INPUT$ and INP(96):
INKEY$ returns 1 or 2 bytes:
1 byte: ascii
2 bytes: 1. ascii = 0, 2. scan
DO: k$ = INKEY$: LOOP WHILE k$ = ""
L = LEN(k$)
IF L = 1 THEN ascii = ASC(k$)
IF L = 2 THEN scan = ASC(RIGHT$(k$,1))
DO: k$ = INKEY$: LOOP WHILE k$ = ""
ascii = ASC(k$)
IF ascii = 0 THEN scan = ASC(MID$(k$,2))

 

INPUT$(1) waits and returns 1 byte (ascii) - INP(96) returns scancode
k$ = INPUT$(1) 'k$=CHR$(0) for non-ascii keys
sc = INP(96)   'sc=scancode

 

røde koder kun i VBDOS (ikke QBASIC)

    scan   ascii
          Shift(#) Ctrl(^) Alt(@) AltGr
Esc   1   ¬ 27        
1   2   "1" 49 ! 33   0 120 0 120
2   3   "2" 50 " 34 0 3 0 121 @ 64
3   4   "3" 51 # 35   0 122 £ 156
4   5   "4" 52 ¤ 175   0 123 $ 36
5   6   "5" 53 % 37   0 124 0 124
6   7   "6" 54 & 38 (up) 30 0 125 0 125
7   8   "7" 55 / 47   0 126 { 123
8   9   "8" 56 ( 40 ¬ 27 0 127 [ 91
9   10   "9" 57 ) 41 (left) 29 0 128 ] 93
0   11   "0" 48 = 61   0 129 } 125
+   12   + 43 ? 63   0 130 0 130
´   13         0 131 | 124
BckSp   14    08.gif (831 bytes) 8  08.gif (831 bytes) 8  127.gif (841 bytes) 127    
Tab   15   (tab)9 0 15      
Q   16   q 113 Q 81 ƒ 17 0 16 0 16
W   17   w 119 W 87 0 23 0 17 0 17
E   18   e 101 E 69 § 5 0 18 0 18
R   19   r 114 R 82 o 18 0 19 0 19
T   20   t 116 T 84 ¶ 20 0 20 0 20
Y   21   y 121 Y 89 ¯ 25 0 21 0 21
U   22   u 117 U 85 § 21 0 22 0 22
I   23   i 105 I 73 (tab) 9 0 23 0 23
O   24   o 111 O 79 * 15 0 24 0 24
P   25   p 112 P 80 } 16 0 25 0 25
Å   26   å 134 Å 143      
¨                
Enter   28   (CR)13 (CR)13 (LF)10    
A   30   a 97 A 65 J 1 0 30 0 30
S   31   s 115 S 83 . 19 0 31 0 31
D   32   d 100 D 68 ¨ 4 0 32 0 32
F   33   f 102 F 70 ª 6 0 33 0 33
G   34   g 103 G 71 7 0 34 0 34
H   35   h 104 H 72 3 8 0 35 0 35
J   36   j 106 J 74 (NL)10 0 36 0 36
K   37   k 107 K 75 (FF)11 0 37 0 37
L   38   l 108 L 76 (cls)12 0 38 0 38
Æ   39   æ 145 Æ 146      
Ø   40   ø 155 Ø 157      
½   41   ½ 171 § 21      
'   43   ' 39 * 42      
Z   44   z 122 Z 90 ® 26 0 44 0 44
X   45   x 120 X 88 ­ 24 0 45 0 45
C   46   c 99 C 67 © 3 0 46 0 46
V   47   v 118 V 86 , 22 0 47 0 47
B   48   b 98 B 66 ) 2 0 48 0 48
N   49   n 110 N 78 + 14 0 49 0 49
M   50   m 109 M 77 (CR)13 0 50 0 50
,   51   , 44 ; 59      
.   52   . 46 : 58      
-   53   - 45 _ 95 31    
Space   57   " " 32 " " 32 " " 32    
F1   59   0 59 0 84 0 94 0 104 0 104
F2   60   0 60 0 85 0 95 0 105 0 105
F3   61   0 61 0 86 0 96 0 106 0 106
F4   62   0 62 0 87 0 97 0 107 0 107
F5   63   0 63 0 88 0 98 0 108 0 108
F6   64   0 64 0 89 0 99 0 109 0 109
F7   65   0 65 0 90 0 100 0 110 0 110
F8   66   0 66 0 91 0 101 0 111 0 111
F9   67   0 67 0 92 0 102 0 112 0 112
F10   68   0 68 0 93 0 103 0 113 0 113
Home   71   0 71 0 71 0 119 0 151 0 151
Up   72   0 72 0 72 0 141 0 152 0 152
PgUp   73   0 73 0 73 0 132    
Left   75   0 75 0 75 0 115    
Right   77   0 77 0 77 0 116    
End   79   0 79 0 79 0 117    
num1   79   0 79 "1" 49 0 117    
Down   80   0 80 0 80 0 145 0 160 0 160
PgDn   81   0 81 0 81 0 118    
Insert   82   0 82 0 82 0 146    
numIns   82   0 82 "0" 48      
Delete   83   0 83 0 83 0 147    
numDel   83   0 83 , 44      
<   86   < 60 > 62 28   \ 92
F11   87   0 133 0 135 0 137 0 139 0 139
F12   88   0 134 0 136 0 138 0 140 0 140