Kody klawiszy
From Atariki
| Wersja z dnia 08:28, 23 kwi 2010 KMK (Dyskusja | wkład) (red., linki itp.) ← Previous diff |
Wersja z dnia 11:56, 23 kwi 2010 Mono (Dyskusja | wkład) (spacja i .) Next diff → |
||
| Linia 36: | Linia 36: | ||
| <tr><td>31</td><td>1</td></tr> | <tr><td>31</td><td>1</td></tr> | ||
| <tr><td>32</td><td>,</td></tr> | <tr><td>32</td><td>,</td></tr> | ||
| - | <tr><td>33</td><td></td></tr> | + | <tr><td>33</td><td>SPACE</td></tr> |
| - | <tr><td>34</td><td></td></tr> | + | <tr><td>34</td><td>.</td></tr> |
| <tr><td>35</td><td>N</td></tr> | <tr><td>35</td><td>N</td></tr> | ||
| <tr><td>36</td><td></td></tr> | <tr><td>36</td><td></td></tr> | ||
Wersja z dnia 11:56, 23 kwi 2010
"Surowe" kody klawiszy generowane przez klawiaturę. W dalszej fazie obróbki system operacyjny przetwarza większość z nich na kody ATASCII.
| Kod (dec) | Klawisz |
| 0 | L |
| 1 | J |
| 2 | ; |
| 3 | |
| 4 | |
| 5 | K |
| 6 | + |
| 7 | * |
| 8 | O |
| 9 | |
| 10 | P |
| 11 | U |
| 12 | RETURN |
| 13 | I |
| 14 | - |
| 15 | = |
| 16 | V |
| 17 | HELP |
| 18 | C |
| 19 | |
| 20 | |
| 21 | B |
| 22 | X |
| 23 | Z |
| 24 | 4 |
| 25 | |
| 26 | 3 |
| 27 | 6 |
| 28 | ESC |
| 29 | 5 |
| 30 | 2 |
| 31 | 1 |
| 32 | , |
| 33 | SPACE |
| 34 | . |
| 35 | N |
| 36 | |
| 37 | M |
| 38 | / |
| 39 | LOGO |
| 40 | R |
| 41 | |
| 42 | E |
| 43 | Y |
| 44 | TAB |
| 45 | T |
| 46 | W |
| 47 | Q |
| 48 | 9 |
| 49 | |
| 50 | 0 |
| 51 | 7 |
| 52 | BACKSPACE |
| 53 | 8 |
| 54 | < |
| 55 | > |
| 56 | F |
| 57 | H |
| 58 | D |
| 59 | |
| 60 | CAPS |
| 61 | G |
| 62 | S |
| 63 | A |
Wciśnięcie odpowiedniego klawisza z klawiszem SHIFT zwiększa kod o 64 ($40), a z klawiszem CONTROL o 128 ($80). Niektóre klawisze są niedostępne w kombinacji z SHIFT+CONTROL wciśniętymi równocześnie.
System operacyjny bada wciśnięcie klawisza HELP i w zależności od tego ustawia flagę HLPFLG (732, $02DC; zapisywany jest tam kod kombinacji klawisza HELP z ewentualnymi klawiszami SHIFT lub CONTROL).
Klawisze F1..F4 są dostępne w modelu 1200XL.
Układ sprzętowy rozpoznaje wciśnięcie kombinacji klawiszy SHIFT+CONTROL+A, aczkolwiek system operacyjny rezerwuje jej kod (255, $FF) dla oznaczenia w rejestrze KBCODES (764, $02FC) stanu, kiedy żaden klawisz nie został wciśnięty. W konsekwencji wciśnięcie tej kombinacji może być wykrywane jedynie bezpośrednio w rejestrze KBCODE (53769, $D209) lub przez własny handler przerwania klawiatury wektoryzowany przez VKEY (520, $0208). Praktycznie użycie tej kombinacji może służyć do "oszukania" systemu i anulowania informacji o ostatnio wciśniętej kombinacji klawiszy.
Wciśnięcie klawisza BREAK powoduje wygenerowanie przerwania IRQ ze skasowanym bitem B w rejestrze stanu procesora (analogiczne przerwanie generowane jest za pomocą rozkazu procesora BRK, lecz bit B jest wtedy ustawiony). Systemowa procedura obsługi przerwania klawisza BREAK wektoryzowana przez VBRKKEY (566=$236) ustawia bit 7 w rejestrze IRQSTATS (17=$11). Przerwanie rozkazu BRK jest wektoryzowane przez VBREAK (518=$206).
Dodatkowa informacja o wciśnięciu bądź zwolnieniu klawisza SHIFT lub dowolnego innego klawisza (prócz BREAK, CONTROL i klawiszy konsoli) może być sprawdzana w rejestrze SKSTAT (53775, $D20F).
