Kody klawiszy

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:34, 5 mar 2011
Mono (Dyskusja | wkład)
(shift+ctrl+help)
← Previous diff
Wersja z dnia 10:41, 13 lut 2014
Mono (Dyskusja | wkład)
(tabela klawiszy)
Next diff →
Linia 82: Linia 82:
Pozostałe klawisze: patrz [[Rejestry POKEY-a#KBCODE|KBCODE]] i [[Rejestry GTIA#CONSOL|CONSOL]]. Pozostałe klawisze: patrz [[Rejestry POKEY-a#KBCODE|KBCODE]] i [[Rejestry GTIA#CONSOL|CONSOL]].
 +
 +<table border=1 cellpadding=5>
 +<tr>
 +<th></th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th>
 +</tr>
 +<tr>
 +<th>0</th><td style="background:#f0f0f0">L</td><td style="background:#f0f0f0">J</td><td style="background:#f0f0f0">;</td><td>F1</td><td>F2</td><td style="background:#f0f0f0">K</td><td style="background:#f0f0f0">+</td><td style="background:#f0f0f0">*</td><td>O</td><td> </td><td>P</td><td>U</td><td>RET</td><td>I</td><td>-</td><td>=</td>
 +</tr>
 +<tr>
 +<th>1</th><td style="background:#f0f0f0">V</td><td style="background:#f0f0f0">HELP</td><td style="background:#f0f0f0">C</td><td>F3</td><td>F4</td><td style="background:#f0f0f0">B</td><td style="background:#f0f0f0">X</td><td style="background:#f0f0f0">Z</td><td>4</td><td></td><td>3</td><td>6</td><td>ESC</td><td>5</td><td>2</td><td>1</td>
 +</tr>
 +<tr>
 +<th>2</th><td>,</td><td>SPC</td><td>.</td><td>N</td><td></td><td>M</td><td>/</td><td>INV</td><td>R</td><td></td><td>E</td><td>Y</td><td>TAB</td><td>T</td><td>W</td><td>Q</td>
 +</tr>
 +<tr>
 +<th>3</th><td>9</td><td></td><td>0</td><td>7</td><td>BKSP</td><td>8</td><td>&lt;</td><td>&gt;</td><td>F</td><td>H</td><td>D</td><td></td><td>CAPS</td><td>G</td><td>S</td><td>A</td>
 +</tr>
 +</table>
 +
 +[http://www.atari.org.pl/forum/viewtopic.php?id=7837 Wątek na AtariArea]
[[Kategoria:Niezb%C4%99dnik_kodera]] [[Kategoria:Niezb%C4%99dnik_kodera]]

Wersja z dnia 10:41, 13 lut 2014

"Surowe" kody klawiszy generowane przez klawiaturę. W dalszej fazie obróbki system operacyjny przetwarza większość z nich na kody ATASCII.

Kod decKod hexKlawiszKlawisz
z SHIFT
Klawisz
z CONTROL
Klawisz
z SHIFT+CONTROL
0$00lLniedostępne
1$01jJniedostępne
2$02;:niedostępne
3$03F1
4$04F2
5$05kKniedostępne
6$06+\strzałka w lewoniedostępne
7$07*^strzałka w prawoniedostępne
8$08oO
9$09
10$0apP
11$0buU
12$0cRETURN
13$0diI
14$0e-_strzałka w górę
15$0f=|strzałka w dół
16$10vVniedostępne
17$11HELPniedostępne
18$12cCniedostępne
19$13F3
20$14F4
21$15bBniedostępne
22$16xXniedostępne
23$17zZniedostępne
24$184$
25$19
26$1a3#EOF
27$1b6&
28$1cESC
29$1d5%
30$1e2"BELL
31$1f1!przełączanie blokady E:
32$20,[
33$21SPACE
34$22.]
35$23nN
36$24
37$25mM
38$26/?
39$27LOGO
40$28rR
41$29
42$2aeE
43$2byY
44$2cTABSet - ustawienie pozycji tabulacjiClr - skasowanie pozycji tabulacji
45$2dtT
46$2ewW
47$2fqQ
48$309(
49$31
50$320)
51$337'
52$34BACKSPACEDelete
53$358@
54$36<Clear
55$37>Insert
56$38fF
57$39hH
58$3adD
59$3b
60$3cCAPSprzełączenie uppercaseustawienie znaków kontrolnych
61$3dgG
62$3esS
63$3faA

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 innego przerwania IRQ, niż pozostałe klawisze. Systemowa procedura obsługi przerwania klawisza BREAK wektoryzowana przez VBRKKEY (566=$236) wpisuje wartość 0 do rejestru IRQSTATS (17=$11), procedury obsługi SIO badają i zmieniają stan tego rejestru, a informację o wciśnięciu klawisza BREAK zwracają za pomocą statusu operacji I/O.

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).

Pozostałe klawisze: patrz KBCODE i CONSOL.

0123456789ABCDEF
0LJ;F1F2K+*O PURETI-=
1VHELPCF3F4BXZ436ESC521
2,SPC.NM/INVREYTABTWQ
3907BKSP8<>FHDCAPSGSA

Wątek na AtariArea

Personal tools