mac-rom/OS/Keyboard/Kbd.r
2017-12-26 09:52:52 +08:00

2887 lines
96 KiB
R
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
File: Kbd.r
Contains: resources for the keyboards (ROM and System)
Written by: EMT Ed Tecot
PKE Peter Edberg
dba Darin Adler
MH Mike Hanlon
Copyright: © 1986-1992 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<17> 10/11/92 JMF Added KCAP resources for Norsi (Apple Adjustable) keypad,
domestic keyboard and ISO keyboard.
<16> 4/8/92 PKE #1026586,<cv>: For compatibility, add System 6.0.7 version of
U.S. KCHR as a second KCHR for US system, with ID 16383. Format
both KCHRs for easier readability.
<15> 10/28/91 SAM/KSM Rolled in Regatta changes.
Regatta History:
<2> 8/7/91 SAM (MH) Changed two coords in the Tim/Derringer KCAP (10) to
compensate for a KeyCaps bug.
7.0 Change History:
<14> 9/16/91 JSM Cleanup header, nuke SysVers >= 0x700 stuff, including getting
rid of hasKCHRTweaks, hasKMAPTweaks, and hasKCAPNames which are
always the same for ROM and System builds now.
<13> 6/11/91 gbm Take out conditional for Regatta
<12> 4/8/91 MH with pke: Added KCAP resources for TIM/Derringer keyboards. The
IDs are $0A, $0C, and $0D. ID $0A is the current TIM/Derringer
built in keyboard. IDs $0C and $0D are the domestic and ISO
keyboards, respectively, that will be in production and ID $0A
will be removed. Regatta only.
<11> 2/26/91 PKE smb,#perCindyR: Change resource name ÒUSÓ to ÒU.S.Ó.
<10> 2/23/91 PKE ngk,#83134: (also per CSD) Remove ÔKCAPÕ resource names for 7.0.
<9> 2/1/91 PKE JSM,#81408: Fix KMAP 5 handling of right Shift, right Control,
and right Option keys.
<8> 12/14/90 PKE (DC) Fix bug in US KCHR for ISO extended keyboard. This keyboard
has an extra key that didnÕt generate the correct characters (or
even an event) with the US KCHR. This combo is used in several
localized versions. (fixes BRC #65484).
<7> 5/13/90 PKE Moved hasKCHRTweaks definition inside Òif forROMÓ conditional.
<6> 5/13/90 PKE Put in US KCHR changes: (1) Ignore CapsLock if Cmd key down. (2)
If neither Opt-key nor Opt-Shift-key produce letters,
Opt-CapsLock-key should produce the same character as Opt-key
(not Opt-Shift-key). The following changes were requested by
Mark Davis (he made me do them): (1) Rearranged Opt-Shift-key
table so if Opt-key is dead, then Opt-Shift-key produces the
accent by itself; this eliminates Opt-Shift entry of a few
accented characters. (2) Changed dead key tables for tilde and
circumflex so the character produced for a completor of space or
no-match is the ÒrealÓ accent character (code above $F0), not
the low-ASCII approximation. All of the above changes are
flagged with the symbol hasKCHRTweaks.
<5> 3/23/90 PKE Add name "US" for KCHR 0, remove names from Elmer KCAPs.
<4> 2/27/90 PKE Changed KCAP resource conditionalization to use new, more
specific hasXXXKeyLayouts symbols. Don't include Portable
KCAPs in 7.0 System file.
<3> 1/8/90 PKE Replaced KCAPs 5,8,9 with formatted versions from KeyLayout.r,
fixing a bug in the Elmer layouts: switched position of '+' and
'-' keys. Restored the names for all of the KCAP resources.
<2> 12/20/89 dba merged System and ROM keyboard information in this file; added
KCAP resources from Key Layout
<1> 12/17/89 CCH Adding for the first time into BBS.
(BBS versions above, earlier versions below)
<1.2> 5/22/89 PKE (Esprit needs this too) Modified KCHR ID=0 for option-shift
entry of double acute accent, code $FD
<1.1> 4/12/89 PKE Updated KCHR 0 to use Mac char set extensions; added KMAP 2.
<1.1> 8/12/88 EMT Added Harpo keyboard layout resources.
<1.0> 2/12/88 BBM Adding file for the first time into EASEÉ
<C928> 11/4/87 EMT Kbd.r: Update to include changes and fixes from SysResDef.r
(e.g. S183)
<A262> 10/24/86 EMT Removed Command-Shift-[<>?:"{}_+|~] feature, as it conflicts
with MacPaint and MS Word
<A248> 10/20/86 EMT Corrected ADB traps to return OSErr. Change to dead key table
format.
<C219> 10/14/86 EMT Fixed KbdType bug in kbd.a; added ASCII for function keys in
kbd.r
10/7/86 EMT new this date.
*/
// this file is included for System, built standalone for ROM
#if forROM
#include "SysTypes.r"
#define KCHRAttributes locked
#else
#define KCHRAttributes sysHeap, purgeable
#endif
#define USname "U.S."
#define noMask 0,or
#define US607name "U.S. - System 6"
#define US607ID 16383
data 'vadb' (0, "ISO Cosmo") {
$"0001 05AC 0202 00C7"
};
data 'vadb' (1, "JIS Cosmo") {
$"0001 05AC 0203 00C8"
};
data 'vadb' (2, "ANSI Cosmo") {
$"0001 05AC 0201 00C6"
};
data 'vadb' (3, "ISO Andy") {
$"0001 05AC 0205 00CD"
};
data 'vadb' (4, "JIS Andy") {
$"0001 05AC 0206 00CE"
};
data 'vadb' (5, "ANSI Andy") {
$"0001 05AC 0204 00CC"
};
//__________________________________________________________________________________________________
// map from key codes to ASCII
resource 'KCHR' (0, USname, KCHRAttributes) { /*<11>*/
0, {
/*
cm sh sh cl cl cl cl op op op op op op op op
cm cm sh sh cm sh sh cl cl cl cl
cm cm cm sh sh
cm
*/
0; 0; 1; 0; 2; 0; 1; 0; 3; 6; 4; 4; 5; 6; 4; 4; /* + nothing else */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + ct */
1; 0; 1; 0; 1; 0; 1; 0; 4; 4; 4; 4; 4; 4; 4; 4; /* + rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt sh, ct */
3; 6; 4; 4; 5; 6; 4; 4; 3; 6; 4; 4; 5; 6; 4; 4; /* + rt op */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt op, ct */
4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; /* + rt op, rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt op, rt sh, ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, rt sh, ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, rt op */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, rt op, ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct, rt op, rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7 /* + rt ct, rt op, rt sh, ct */
},
{
{ /* table 0 - no modifiersÉ */
"a"; "s"; "d"; "f"; "h"; "g"; "z"; "x";
"c"; "v"; "¤"; "b"; "q"; "w"; "e"; "r"; /* handle keycode $0A <8> */
"y"; "t"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "-"; "8"; "0"; "]"; "o";
"u"; "["; "i"; "p"; "\n"; "l"; "j"; "'";
"k"; ";"; "\\"; ","; "/"; "n"; "m"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 1 - shiftÉ */
"A"; "S"; "D"; "F"; "H"; "G"; "Z"; "X";
"C"; "V"; "±"; "B"; "Q"; "W"; "E"; "R"; /* handle keycode $0A <8> */
"Y"; "T"; "!"; "@"; "#"; "$"; "^"; "%";
"+"; "("; "&"; "_"; "*"; ")"; "}"; "O";
"U"; "{"; "I"; "P"; "\n"; "L"; "J"; "\"";
"K"; ":"; "|"; "<"; "?"; "N"; "M"; ">";
"\t"; " "; "~"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "*"; "*"; "\$00"; "+"; "+"; "\$1B";
"="; "\$00"; "\$00"; "/"; "\$03"; "/"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 2 - capslockÉ */
"A"; "S"; "D"; "F"; "H"; "G"; "Z"; "X";
"C"; "V"; "¤"; "B"; "Q"; "W"; "E"; "R"; /* handle keycode $0A <8> */
"Y"; "T"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "-"; "8"; "0"; "]"; "O";
"U"; "["; "I"; "P"; "\n"; "L"; "J"; "'";
"K"; ";"; "\\"; ","; "/"; "N"; "M"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 3 - optionÉ */
"Œ"; "§"; "¶"; "Ä"; "\$FA"; "©"; "½"; "Å";
"<EFBFBD>"; "Ã"; "¤"; "º"; "Ï"; "·"; "\$00"; "¨"; /* handle keycode $0A <8> */
"´"; " "; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¿";
"\$00"; "Ò"; "\$00"; "¹"; "\n"; "Â"; "Æ"; "¾";
"\$FB"; "É"; "Ç"; "²"; "Ö"; "\$00"; "µ"; "³";
"\t"; "Ê"; "\$00"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 4 - option+shiftÉ */
"<EFBFBD>"; "\$EA"; "\$EB"; "\$EC"; "\$EE"; "\$FD"; "\$FC"; "\$FE";
""; "×"; "±"; "\$F5"; "Î"; "\$E3"; "«"; "\$E4"; /*<6><8>*/
"\$E7"; "\$FF"; "\$DA"; "\$DB"; "\$DC"; "\$DD"; "\$DF"; "\$DE";
"±"; "\$E1"; "\$E0"; "Ñ"; "¡"; "\$E2"; "Õ"; "¯";
"¬"; "Ó"; "\$F6"; "¸"; "\n"; "\$F1"; "\$EF"; "®";
"\$F0"; "\$F2"; "È"; "\$F8"; "À"; "\$F7"; "\$E5"; "\$F9";
"\t"; "Ê"; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00"; /*<6>*/
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "*"; "*"; "\$00"; "+"; "+"; "\$1B";
"="; "\$00"; "\$00"; "/"; "\$03"; "/"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 5 - option+capslockÉ */
"<EFBFBD>"; "\$EA"; "\$EB"; "\$EC"; "\$EE"; "©"; "½"; "Å"; /*<6>*/
""; "Ã"; "¤"; "\$F5"; "Î"; "·"; "«"; "¨"; /*<6><8>*/
"\$E7"; " "; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¯";
"¬"; "Ò"; "\$F6"; "¸"; "\n"; "\$F1"; "\$EF"; "®";
"\$FB"; "É"; "Ç"; "²"; "Ö"; "\$F7"; "\$E5"; "³";
"\t"; "Ê"; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 6 - option+commandÉ */
"Œ"; "§"; "¶"; "Ä"; "\$FA"; "©"; "½"; "Å";
"<EFBFBD>"; "Ã"; "¤"; "º"; "Ï"; "·"; "«"; "¨"; /* handle keycode $0A <8> */
"´"; " "; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¿";
"¬"; "Ò"; "^"; "¹"; "\n"; "Â"; "Æ"; "¾";
"\$FB"; "É"; "Ç"; "²"; "Ö"; "~"; "µ"; "³";
"\t"; "Ê"; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 7 - controlÉ */
"\$01"; "\$13"; "\$04"; "\$06"; "\b"; "\$07"; "\$1A"; "\$18";
"\$03"; "\$16"; "0"; "\$02"; "\$11"; "\$17"; "\$05"; "\$12";
"\$19"; "\$14"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "\$1F"; "8"; "0"; "\$1D"; "\$0F";
"\$15"; "\$1B"; "\t"; "\$10"; "\n"; "\f"; "\$0A"; "'";
"\v"; ";"; "\$1C"; ","; "/"; "\$0E"; "\n"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
}
},
{
3, 14, {
" ", "«";
"A", "\$E7";
"E", "ƒ";
"I", "\$EA";
"O", "\$EE";
"U", "\$F2";
"a", "‡";
"e", "Ž";
"i", "";
"o", "—";
"u", "œ"
},
"\$00", "«";
3, 50, {
" ", "`";
"A", "Ë";
"E", "\$E9";
"I", "\$ED";
"O", "\$F1";
"U", "\$F4";
"a", "ˆ";
"e", "<EFBFBD>";
"i", "“";
"o", "˜";
"u", "<EFBFBD>";
},
"\$00", "`";
3, 34, {
" ", "\$F6";
"A", "\$E5";
"E", "\$E6";
"I", "\$EB";
"O", "\$EF";
"U", "\$F3";
"a", "‰";
"e", "<EFBFBD>";
"i", "”";
"o", "™";
"u", "ž";
},
"\$00", "\$F6";
3, 32, {
" ", "¬";
"A", "€";
"E", "\$E8";
"I", "\$EC";
"O", "…";
"U", "†";
"Y", "\$D9";
"a", "Š";
"e", "";
"i", "•";
"o", "š";
"u", "Ÿ";
"y", "Ø";
},
"\$00", "¬";
3, 45, {
" ", "\$F7";
"A", "Ì";
"N", "„";
"O", "Í";
"a", "";
"n", "";
"o", "";
},
"\$00", "\$F7";
}
};
resource 'KCHR' (US607ID, US607name, KCHRAttributes) { /*<16>*/
0, {
/*
cm sh sh cl cl cl cl op op op op op op op op
cm cm sh sh cm sh sh cl cl cl cl
cm cm cm sh sh
cm
*/
0; 0; 1; 0; 2; 2; 1; 0; 3; 6; 4; 4; 5; 5; 4; 4; /* + nothing else */ /* changed in Sys 7 */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + ct */
1; 0; 1; 0; 1; 0; 1; 0; 4; 4; 4; 4; 4; 4; 4; 4; /* + rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt sh, ct */
3; 6; 4; 4; 5; 5; 4; 4; 3; 6; 4; 4; 5; 5; 4; 4; /* + rt op */ /* changed in Sys 7 */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt op, ct */
4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; /* + rt op, rt sh */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt op, rt sh, ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; /* + rt ct */
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;
7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7
},
{
{ /* table 0 - no modifiersÉ */
"a"; "s"; "d"; "f"; "h"; "g"; "z"; "x";
"c"; "v"; "\$00"; "b"; "q"; "w"; "e"; "r";
"y"; "t"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "-"; "8"; "0"; "]"; "o";
"u"; "["; "i"; "p"; "\n"; "l"; "j"; "'";
"k"; ";"; "\\"; ","; "/"; "n"; "m"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 1 - shiftÉ */
"A"; "S"; "D"; "F"; "H"; "G"; "Z"; "X";
"C"; "V"; "\$00"; "B"; "Q"; "W"; "E"; "R";
"Y"; "T"; "!"; "@"; "#"; "$"; "^"; "%";
"+"; "("; "&"; "_"; "*"; ")"; "}"; "O";
"U"; "{"; "I"; "P"; "\n"; "L"; "J"; "\"";
"K"; ":"; "|"; "<"; "?"; "N"; "M"; ">";
"\t"; " "; "~"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "*"; "*"; "\$00"; "+"; "+"; "\$1B";
"="; "\$00"; "\$00"; "/"; "\$03"; "/"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 2 - capslockÉ */
"A"; "S"; "D"; "F"; "H"; "G"; "Z"; "X";
"C"; "V"; "\$00"; "B"; "Q"; "W"; "E"; "R";
"Y"; "T"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "-"; "8"; "0"; "]"; "O";
"U"; "["; "I"; "P"; "\n"; "L"; "J"; "'";
"K"; ";"; "\\"; ","; "/"; "N"; "M"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 3 - optionÉ */
"Œ"; "§"; "¶"; "Ä"; "\$FA"; "©"; "½"; "Å";
"<EFBFBD>"; "Ã"; "\$00"; "º"; "Ï"; "·"; "\$00"; "¨";
"´"; " "; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¿";
"\$00"; "Ò"; "\$00"; "¹"; "\n"; "Â"; "Æ"; "¾";
"\$FB"; "É"; "Ç"; "²"; "Ö"; "\$00"; "µ"; "³";
"\t"; "Ê"; "\$00"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 4 - option+shiftÉ */
"<EFBFBD>"; "\$EA"; "\$EB"; "\$EC"; "\$EE"; "\$ED"; "\$F3"; "\$F4"; /* changed in Sys 7 */
""; "×"; "\$00"; "\$F5"; "Î"; "\$E3"; "\$E4"; "\$E5"; /* changed in Sys 7 */
"\$E7"; "\$E6"; "\$DA"; "\$DB"; "\$DC"; "\$DD"; "\$DF"; "\$DE";
"±"; "\$E1"; "\$E0"; "Ñ"; "¡"; "\$E2"; "Õ"; "¯";
"\$E8"; "Ó"; "\$E9"; "¸"; "\n"; "\$F1"; "\$EF"; "®";
"\$F0"; "\$F2"; "È"; "\$F8"; "À"; "\$F6"; "\$F7"; "\$F9";
"\t"; "Ê"; "\$D9"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00"; /* changed in Sys 7 */
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "*"; "*"; "\$00"; "+"; "+"; "\$1B";
"="; "\$00"; "\$00"; "/"; "\$03"; "/"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 5 - option+capslockÉ */
"<EFBFBD>"; "\$EA"; "\$EB"; "\$EC"; "\$EE"; "\$ED"; "\$F3"; "\$F4"; /* changed in Sys 7 */
""; "×"; "\$00"; "\$F5"; "Î"; "\$E3"; "\$E4"; "\$E5"; /* changed in Sys 7 */
"\$E7"; "\$E6"; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¯";
"\$E8"; "Ò"; "\$E9"; "¸"; "\n"; "\$F1"; "\$EF"; "®";
"\$F0"; "É"; "Ç"; "²"; "Ö"; "\$F6"; "\$F7"; "³";
"\t"; "Ê"; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 6 - option+commandÉ */
"Œ"; "§"; "¶"; "Ä"; "\$FA"; "©"; "½"; "Å";
"<EFBFBD>"; "Ã"; "\$00"; "º"; "Ï"; "·"; "«"; "¨";
"´"; " "; "Á"; "ª"; "£"; "¢"; "¤"; "°";
"­"; "»"; "¦"; "Ð"; "¥"; "¼"; "Ô"; "¿";
"¬"; "Ò"; "^"; "¹"; "\n"; "Â"; "Æ"; "¾";
"\$FB"; "É"; "Ç"; "²"; "Ö"; "~"; "µ"; "³";
"\t"; "Ê"; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
};
{ /* table 7 - controlÉ */
"\$01"; "\$13"; "\$04"; "\$06"; "\b"; "\$07"; "\$1A"; "\$18";
"\$03"; "\$16"; "0"; "\$02"; "\$11"; "\$17"; "\$05"; "\$12";
"\$19"; "\$14"; "1"; "2"; "3"; "4"; "6"; "5";
"="; "9"; "7"; "\$1F"; "8"; "0"; "\$1D"; "\$0F";
"\$15"; "\$1B"; "\t"; "\$10"; "\n"; "\f"; "\$0A"; "'";
"\v"; ";"; "\$1C"; ","; "/"; "\$0E"; "\n"; ".";
"\t"; " "; "`"; "\b"; "\$03"; "\$1B"; "\$00"; "\$00";
"\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00"; "\$00";
"\$00"; "."; "\$1D"; "*"; "\$00"; "+"; "\$1C"; "\$1B";
"\$1F"; "\$00"; "\$00"; "/"; "\$03"; "\$1E"; "-"; "\$00";
"\$00"; "="; "0"; "1"; "2"; "3"; "4"; "5";
"6"; "7"; "\$00"; "8"; "9"; "\$00"; "\$00"; "\$00";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10"; "\$10";
"\$10"; "\$10"; "\$05"; "\$01"; "\$0B"; "\$7F"; "\$10"; "\$04";
"\$10"; "\$0C"; "\$10"; "\$1C"; "\$1D"; "\$1F"; "\$1E"; "\$00"
}
},
{
3, 14, {
" ", "«";
"A", "\$E7";
"E", "ƒ";
"I", "\$EA";
"O", "\$EE";
"U", "\$F2";
"a", "‡";
"e", "Ž";
"i", "";
"o", "—";
"u", "œ"
}, "\$00", "«";
3, 50, {
" ", "`";
"A", "Ë";
"E", "\$E9";
"I", "\$ED";
"O", "\$F1";
"U", "\$F4";
"a", "ˆ";
"e", "<EFBFBD>";
"i", "“";
"o", "˜";
"u", "<EFBFBD>";
}, "\$00", "`";
3, 34, {
" ", "^";
"A", "\$E5";
"E", "\$E6";
"I", "\$EB";
"O", "\$EF";
"U", "\$F3";
"a", "‰";
"e", "<EFBFBD>";
"i", "”";
"o", "™";
"u", "ž";
},
"\$00", "^";
3, 32, {
" ", "¬";
"A", "€";
"E", "\$E8";
"I", "\$EC";
"O", "…";
"U", "†";
"Y", "\$D9";
"a", "Š";
"e", "";
"i", "•";
"o", "š";
"u", "Ÿ";
"y", "Ø";
}, "\$00", "¬";
3, 45, {
" ", "~";
"A", "Ì";
"N", "„";
"O", "Í";
"a", "";
"n", "";
"o", "";
}, "\$00", "~";
}
};
//__________________________________________________________________________________________________
// map from raw key codes to virtual key codes
// these KMAPs are needed for ADB keyboards; KMAP 0 covers most of them.
#if forADBKeyboards
// default (for all keyboards which do not have a KMAP)
resource 'KMAP' (0, sysHeap, locked) {
0, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $39; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{ }
};
// extended keyboard
resource 'KMAP' ($02, sysHeap, locked) {
2, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
// ISO extended keyboard
resource 'KMAP' (5, sysHeap, locked) {
5, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F; /*<9>*/
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (27, sysHeap, locked) {
27, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (198, sysHeap, locked) {
198, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (199, sysHeap, locked) {
199, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $32; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $0A; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (200, sysHeap, locked) {
200, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (204, sysHeap, locked) {
204, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (205, sysHeap, locked) {
205, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $32; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $0A; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
resource 'KMAP' (206, sysHeap, locked) {
206, 0, {
$00; $01; $02; $03; $04; $05; $06; $07; $08; $09; $0A; $0B; $0C; $0D; $0E; $0F;
$10; $11; $12; $13; $14; $15; $16; $17; $18; $19; $1A; $1B; $1C; $1D; $1E; $1F;
$20; $21; $22; $23; $24; $25; $26; $27; $28; $29; $2A; $2B; $2C; $2D; $2E; $2F;
$30; $31; $32; $33; $34; $35; $3B; $37; $38; $B9; $3A; $7B; $7C; $7D; $7E; $3F;
$40; $41; $42; $43; $44; $45; $46; $47; $48; $49; $4A; $4B; $4C; $4D; $4E; $4F;
$50; $51; $52; $53; $54; $55; $56; $57; $58; $59; $5A; $5B; $5C; $5D; $5E; $5F;
$60; $61; $62; $63; $64; $65; $66; $67; $68; $69; $6A; $6B; $6C; $6D; $6E; $6F;
$70; $71; $72; $73; $74; $75; $76; $77; $78; $79; $7A; $3C; $3D; $3E; $36; $7F;
},
{
$39, noXor, $E, "\$00\$02";
$B9, noXor, $E, "\$00\$02";
}
};
#endif
//__________________________________________________________________________________________________
// KCAPs are keyboard layouts by virtual key code for the Key Caps desk accessory
//__________________________________________________________________________________________________
// non-ADB keyboards
#if hasNonADBKeyLayouts
// original Macintosh keyboard (ÒmidgetÓ)
resource 'KCAP' ($03) {
{60, 60, 220, 370},
{12, 42, 36, 268},
{
{ {21, 21} }, {
noMask, $32, 50, 10; /* ` ~ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $2A, 20, 30; /* \ | */
noMask, $1E, 0, -20; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $3A, 20, -25; /* left option */
noMask, $3A, 0, 230 /* right option */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $37, 60, 40; /* command */
noMask, $34, 0, 180; /* enter */
noMask, $33, -80, 40 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $24, 0, 255 /* return */
};
{ {21, 46} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 151} }, {
noMask, $31, 130, 80 /* space */
}
}
};
// original Macintosh International keyboard (international ÒmidgetÓ)
resource 'KCAP' ($103) {
{60, 60, 220, 370},
{12, 42, 36, 268},
{
{ {21, 21} }, {
noMask, $32, 50, 10; /* ¤ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $24, 0, 20; /* ` ~ */
noMask, $0A, 20, -30; /* / ? */
noMask, $2C, 0, -20; /* . > */
noMask, $2F, 0, -20; /* , < */
noMask, $2B, 0, -20; /* M */
noMask, $2E, 0, -20; /* N */
noMask, $2D, 0, -20; /* B */
noMask, $0B, 0, -20; /* V */
noMask, $09, 0, -20; /* C */
noMask, $08, 0, -20; /* X */
noMask, $07, 0, -20; /* Z */
noMask, $06, 0, -20; /* \ | */
noMask, $3A, 20, -5; /* left option */
noMask, $3A, 0, 230 /* right option */
};
{ {21, 26} }, {
noMask, $38, 110, 10 /* left shift */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $37, 60, 40; /* command */
noMask, $31, 0, 180; /* enter */
noMask, $33, -80, 40 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10 /* caps lock */
};
{ {21, 46} }, {
noMask, $38, 110, 255 /* right shift */
};
{ {21, 151} }, {
noMask, $34, 130, 80 /* space */
};
{ {21, 21}; {41, 5} }, {
noMask, $2A, 70, 280 /* return */
}
}
};
// Macintosh Plus keyboard (Colbydorfer)
resource 'KCAP' ($0B) {
{60, 56, 220, 456},
{12, 42, 36, 358},
{
{ {21, 21} }, {
noMask, $32, 50, 10; /* ` ~ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0 , -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0 , -20; /* N */
noMask, $0B, 0 , -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0 , -20; /* C */
noMask, $07, 0 , -20; /* X */
noMask, $06, 0 , -20; /* Z */
noMask, $2A, 20, 165; /* \ | */
$7D, and, $46, 0, 20; /* left arrow */
$7D, and, $42, 0, 20; /* right arrow */
$7D, and, $48, 0, 20; /* down arrow */
$7D, and, $4D, -20, 0; /* up arrow */
noMask, $41, 20, 70; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
2, or, $46, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
2, or, $48, 0, 20; /* = */
2, or, $4D, 0, 20; /* / */
2, or, $42, 0, 20 /* * */
};
{ {21, 26} }, {
noMask, $38, 110, 255 /* right shift */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $3A, 60, 0; /* option */
noMask, $33, -80, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10 /* caps lock */
};
{ {21, 41} }, {
noMask, $37, 130, 40; /* command */
noMask, $52, 0, 270 /* 0 */
};
{ {21, 46} }, {
noMask, $38, 110, 10 /* left shift */
};
{ {21, 141} }, {
noMask, $31, 130, 80 /* space */
};
{ {-21, 36}; {-41, 15} }, {
noMask, $24, 111, 265 /* return */
};
{ {41, 21} }, {
noMask, $4C, 110, 370 /* enter */
}
}
};
#endif
//__________________________________________________________________________________________________
// ADB keyboards
#if hasADBKeyLayouts
// standard keyboard
resource 'KCAP' ($01) {
{60, 45, 220, 455},
{12, 42, 36, 368},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $39, 20, -45; /* caps lock */
noMask, $3A, 0, 20; /* option */
noMask, $32, 0, 55; /* ` ~ */
noMask, $2A, 0, 115; /* \ | */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7E, 0, 20; /* up arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $4E, 0, 20; /* - */
noMask, $45, -20, 0; /* + */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $3B, 90, 10; /* control */
noMask, $37, 40, 40 /* command */
};
{ {21, 41} }, {
noMask, $52, 130, 320 /* 0 */
};
{ {21, 46} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 96} }, {
noMask, $31, 130, 105 /* space */
};
{ {-21, 36}; {-41, 15} }, {
noMask, $24, 111, 265 /* return */
};
{ {41, 21} }, {
noMask, $4C, 110, 380 /* enter */
}
}
};
// ISO standard keyboard
resource 'KCAP' ($04) {
{60, 45, 220, 455},
{12, 42, 36, 368},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */
noMask, $7E, 20, 15; /* up arrow */
noMask, $2C, 0, -45; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */
noMask, $7B, 20, 205; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $4E, 0, 20; /* - */
noMask, $45, -20, 0; /* + */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 26} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245; /* right shift */
noMask, $3B, 20, -245 /* control */
};
{ {21, 31} }, {
noMask, $3A, 130, 35; /* option */
noMask, $30, -60, -25; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $37, 40, 55; /* left command */
noMask, $37, 0, 140 /* right command */
};
{ {21, 41} }, {
noMask, $52, 130, 320 /* 0 */
};
{ {21, 106} }, {
noMask, $31, 130, 100 /* space */
};
{ {21, 21}; {41, 5} }, {
noMask, $24, 70, 280 /* return */
};
{ {41, 21} }, {
noMask, $4C, 110, 380 /* enter */
}
}
};
// extended keyboard (Saratoga)
resource 'KCAP' ($02) {
{60, 15, 260, 495},
{12, 42, 36, 443},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $7A, 0, 40; /* F1 */
noMask, $78, 0, 20; /* F2 */
noMask, $63, 0, 20; /* F3 */
noMask, $76, 0, 20; /* F4 */
noMask, $60, 0, 30; /* F5 */
noMask, $61, 0, 20; /* F6 */
noMask, $62, 0, 20; /* F7 */
noMask, $64, 0, 20; /* F8 */
noMask, $65, 0, 30; /* F9 */
noMask, $6D, 0, 20; /* F10 */
noMask, $67, 0, 20; /* F11 */
noMask, $6F, 0, 20; /* F12 */
noMask, $69, 0, 30; /* F13 */
noMask, $6B, 0, 20; /* F14 */
noMask, $71, 0, 20; /* F15 */
noMask, $32, 40, -350; /* ` ~ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $72, -60, 265; /* help */
noMask, $73, 0, 20; /* home */
noMask, $74, 0, 20; /* page up */
noMask, $79, 20, 0; /* page down */
noMask, $77, 0, -20; /* end */
noMask, $75, 0, -20; /* delete */
noMask, $7E, 40, 20; /* up arrow */
noMask, $7B, 20, -20; /* left arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $41, 0, 70; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 26} }, {
noMask, $3A, 170, 40; /* left option */
noMask, $3D, 0, 215; /* right option */
noMask, $3A, 0, 0 /* right option */
};
{ {21, 31} }, {
noMask, $30, 110, 10; /* tab */
noMask, $2A, 0, 270; /* \ | */
noMask, $3E, 60, 0; /* right control */
noMask, $3B, 0, 0; /* right control */
noMask, $37, 0, -55; /* right command */
noMask, $37, 0, -160; /* left command */
noMask, $3B, 0, -55 /* left control */
};
{ {21, 36} }, {
noMask, $39, 130, 10 /* caps lock */
};
{ {21, 41} }, {
noMask, $33, 90, 270; /* backspace */
noMask, $52, 80, 120 /* 0 */
};
{ {21, 46} }, {
noMask, $38, 150, 10; /* left shift */
noMask, $24, -20, 255 /* return */
};
{ {21, 56} }, {
noMask, $3C, 150, 255; /* right shift */
noMask, $38, 0, 0 /* right shift */
};
{ {21, 131} }, {
noMask, $31, 170, 95 /* space */
};
{ {41, 21} }, {
noMask, $4C, 150, 450 /* enter */
}
}
};
// ISO extended keyboard (Zoots)
resource 'KCAP' ($05) {
{60, 15, 260, 495},
{12, 42, 36, 443},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $7A, 0, 40; /* F1 */
noMask, $78, 0, 20; /* F2 */
noMask, $63, 0, 20; /* F3 */
noMask, $76, 0, 20; /* F4 */
noMask, $60, 0, 30; /* F5 */
noMask, $61, 0, 20; /* F6 */
noMask, $62, 0, 20; /* F7 */
noMask, $64, 0, 20; /* F8 */
noMask, $65, 0, 30; /* F9 */
noMask, $6D, 0, 20; /* F10 */
noMask, $67, 0, 20; /* F11 */
noMask, $6F, 0, 20; /* F12 */
noMask, $69, 0, 30; /* F13 */
noMask, $6B, 0, 20; /* F14 */
noMask, $71, 0, 20; /* F15 */
noMask, $12, 40, -325; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */ /* <10/11/88ldc> */
noMask, $2C, 20, -30; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */ /* <10/11/88ldc>*/
noMask, $72, -60, 280; /* help */
noMask, $73, 0, 20; /* home */
noMask, $74, 0, 20; /* page up */
noMask, $79, 20, 0; /* page down */
noMask, $77, 0, -20; /* end */
noMask, $75, 0, -20; /* delete */
noMask, $7E, 40, 20; /* up arrow */
noMask, $7B, 20, -20; /* left arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $41, 0, 70; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
},
{ {21, 26} }, {
noMask, $0A, 90, 10; /* ¤ <10/11/88ldc>*/
noMask, $3A, 80, 30; /* left option */
noMask, $3D, 0, 215; /* (right option) */
noMask, $3A, 0, 0 /* right option */
};
{ {21, 31} }, {
noMask, $38, 150, 10; /* left shift */
noMask, $3B, 20, 0; /* left control */
noMask, $37, 0, 55; /* left command */
noMask, $37, 0, 160; /* right command */
noMask, $3E, 0, 55; /* (right control) */
noMask, $3B, 0, 0 /* right control */
};
{ {21, 36} }, {
noMask, $33, 90, 275; /* backspace */
noMask, $30, 20, -265 /* tab */
};
{ {21, 41} }, {
noMask, $39, 130, 10; /* caps lock */
noMask, $52, 40, 380 /* key pad 0 */
};
{ {21, 26}; {41, 5} }, {
noMask, $24, 110, 285 /* return */ /* <10/11/88ldc>*/
};
{ {21, 51} }, {
noMask, $3C, 150, 260; /* (right shift) */
noMask, $38, 0, 0 /* right shift */
};
{ {21, 131} }, {
noMask, $31, 170, 95 /* space */
};
{ {41, 21} }, {
noMask, $4C, 150, 450 /* enter */
};
}
};
// Elmer (membrane keyboard that ships with XO and Elsie)
resource 'KCAP' ($08) {
{60, 45, 220, 465}, /* change from ADB std */
{12, 42, 36, 378}, /* change from ADB std */
{
{ {21, 21} }, {
/* change from ADB std */
noMask, $12, 50, 35; /* 1 ! */ /* change from ADB std */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $3B, 20, -50; /* control */ /* change from ADB std */
/* change from ADB std */
noMask, $35, 0, 200; /* escape */ /* change from ADB std */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7E, 0, 20; /* up arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */ /* change from ADB std */ /* <3> */
noMask, $4E, -20, 0; /* - */ /* change from ADB std */ /* <3> */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 26} }, { /* change from ADB std */
noMask, $32, 50, 10; /* ` ~ */ /* change from ADB std */
noMask, $3A, 80, 20; /* option */ /* change from ADB std */
noMask, $2A, -60, 255 /* \ | */ /* change from ADB std */
};
{ {21, 36} }, {
noMask, $30, 70, 10; /* tab */ /* change from ADB std */
noMask, $37, 60, 45; /* command */ /* change from ADB std */
noMask, $33, -80, 220 /* backspace */ /* change from ADB std */
};
{ {21, 41} }, {
noMask, $39, 90, 10; /* caps lock */ /* change from ADB std */
noMask, $24, 0, 260; /* return */ /* change from ADB std */
noMask, $52, 40, 60 /* 0 */ /* change from ADB std */
};
{ {21, 51} }, { /* change from ADB std */
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 250 /* right shift */ /* change from ADB std */
};
{ {21, 121} }, { /* change from ADB std */
noMask, $31, 130, 90 /* space */ /* change from ADB std */
};
/* change from ADB std */
{ {41, 21} }, {
noMask, $4C, 110, 390 /* enter */ /* change from ADB std */
}
}
};
// ISO Elmer
resource 'KCAP' ($09) {
{60, 45, 220, 465}, /* change from ADB std */
{12, 42, 36, 378}, /* change from ADB std */
{
{ {21, 21} }, {
/* change from ADB ISO */
noMask, $12, 50, 35; /* 1 ! */ /* change from ADB ISO */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */
noMask, $7E, 20, 20; /* up arrow */ /* change from ADB ISO */
noMask, $2C, 0, -50; /* / ? */ /* change from ADB ISO */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */
noMask, $3B, 20, -30; /* control */ /* change from ADB ISO */
noMask, $35, 0, 220; /* escape */ /* change from ADB ISO */
noMask, $7B, 0, 20; /* left arrow */ /* change from ADB ISO */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */ /* change from ADB std */ /* <3> */
noMask, $4E, -20, 0; /* - */ /* change from ADB std */ /* <3> */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 26} }, {
noMask, $0A, 50, 10; /* ¤ */ /* change from ADB ISO */
noMask, $3A, 80, 20 /* option */ /* change from ADB ISO */
};
{ {21, 31} }, {
noMask, $38, 110, 10; /* left shift */ /* change from ADB ISO */
noMask, $3C, 0, 250; /* (right shift) */ /* change from ADB ISO */
noMask, $38, 0, 0 /* right shift */ /* change from ADB ISO */
};
{ {21, 36} }, {
noMask, $30, 70, 10; /* tab */ /* change from ADB ISO */
noMask, $37, 60, 45; /* command */ /* change from ADB ISO */
noMask, $33, -80, 220 /* backspace */ /* change from ADB ISO */
};
{ {21, 41} }, {
noMask, $39, 90, 10; /* caps lock */ /* change from ADB ISO */
noMask, $52, 40, 320 /* key pad 0 */ /* change from ADB ISO */
};
{ {21, 141} }, { /* change from ADB ISO */
noMask, $31, 130, 90 /* space */ /* change from ADB ISO */
};
{ {21, 26}; {41, 5} }, { /* change from ADB ISO */
noMask, $24, 70, 285 /* return */ /* change from ADB ISO */
};
{ {41, 21} }, {
noMask, $4C, 110, 390 /* enter */ /* change from ADB ISO */
}
}
};
// Norsi (Apple Adjustable) keypad <17> 10/22/92 JMF
resource 'KCAP' ($0E) {
{60, 125, 220, 365},
{12, 42, 36, 198},
{
{ {21, 21} }, {
noMask, $7A, 50, 10; /* F1 */
noMask, $78, 0, 20; /* F2 */
noMask, $63, 0, 20; /* F3 */
noMask, $76, 20, -40; /* F4 */
noMask, $60, 0, 20; /* F5 */
noMask, $61, 0, 20; /* F6 */
noMask, $62, 20, -40; /* F7 */
noMask, $64, 0, 20; /* F8 */
noMask, $65, 0, 20; /* F9 */
noMask, $6D, 20, -40; /* F10 */
noMask, $67, 0, 20; /* F11 */
noMask, $6F, 0, 20; /* F12 */
noMask, $69, 20, -40; /* F13 */
noMask, $6B, 0, 20; /* F14 */
noMask, $71, 0, 20; /* F15 */
noMask, $72, -80, 30; /* help */
noMask, $73, 0, 20; /* home */
noMask, $74, 0, 20; /* page up */
noMask, $79, 20, 0; /* page down */
noMask, $77, 0, -20; /* end */
noMask, $75, 0, -20; /* delete */
noMask, $7E, 40, 20; /* up arrow */
noMask, $7B, 20, -20; /* left arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $41, 0, 70; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20; /* * */
};
{ {21, 41} }, {
noMask, $52, 130, 150; /* 0 */
};
{ {41, 21} }, {
noMask, $4C, 110, 210; /* enter */
};
}
};
// Domestic Norsi (Apple Adjustable) keyboard <17> 10/22/92 JMF
resource 'KCAP' ($10) {
{60, 45, 240, 435},
{12, 42, 36, 348},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 70; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 40; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -40; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 40; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $7E, 20, 45; /* up arrow */
noMask, $2C, 0, -55; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -40; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $7B, 20, 215; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
};
{ {21, 26} }, {
noMask, $3A, 130, 80; /* option */
noMask, $37, 0, 215; /* right command */
};
{ {21, 31} }, {
noMask, $32, 50, 50; /* ` ~ */
noMask, $3B, 80, 0; /* control */
noMask, $37, 0, 55; /* left command */
noMask, $2A, -60, 245; /* \ | */
};
{ {21, 36} }, {
noMask, $38, 110, 325; /* right shift */
};
{ {21, 41} }, {
noMask, $30, 70, 50; /* tab */
noMask, $33, -20, 290; /* backspace */
};
{ {21, 46} }, {
noMask, $39, 90, 50; /* caps lock */
noMask, $24, 0, 285; /* return */
};
{ {21, 56} }, {
noMask, $38, 110, 50; /* left shift */
};
{ {31, 141} }, {
noMask, $31, 140, 145 /* space */
};
}
};
// ISO Norsi (Apple Adjustable) keyboard <17> 10/22/92 JMF
resource 'KCAP' ($11) {
{60, 45, 240, 435},
{12, 42, 36, 348},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 70; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 40; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -40; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 40; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */
noMask, $7E, 20, 25; /* up arrow */
noMask, $2C, 0, -55; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -40; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */
noMask, $7B, 20, 235; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
};
{ {21, 26} }, {
noMask, $3A, 130, 80; /* option */
noMask, $37, 0, 215; /* right command */
};
{ {21, 31} }, {
noMask, $0A, 50, 50; /* ISO */
noMask, $3B, 80, 0; /* control */
noMask, $37, 0, 55; /* left command */
};
{ {21, 36} }, {
noMask, $38, 110, 50; /* left shift */
noMask, $38, 0, 275; /* right shift */
};
{ {21, 41} }, {
noMask, $30, 70, 50; /* tab */
noMask, $33, -20, 290; /* backspace */
};
{ {21, 46} }, {
noMask, $39, 90, 50; /* caps lock */
};
{ {31, 141} }, {
noMask, $31, 140, 145 /* space */
};
{ {21, 31}; {41, 5} }, {
noMask, $24, 70, 350; /* return */
};
}
};
#endif
// TIM/Derringer keyboard old ID
resource 'KCAP' ($0A) {
{60, 60, 220, 370},
{12, 42, 36, 268},
{
{ {21, 21} }, {
noMask, $32, 50, 10; /* ` ~ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $2A, 20, 30; /* \ | */
noMask, $1E, 0, -20; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $3B, 20, -45; /* control */
noMask, $3A, 0, 20; /* option */
noMask, $35, 0, 55; /* escape */
noMask, $34, 0, 115; /* enter (keyboard) */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7E, 0, 20 /* up arrow */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $24, 0, 255; /* return */
noMask, $37, 40, -215 /* command */
};
{ {21, 46} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 96} }, {
noMask, $31, 130, 105 /* space */
}
}
};
// TIM/Derringer keyboard new ID
resource 'KCAP' ($0C) {
{60, 60, 220, 370},
{12, 42, 36, 268},
{
{ {21, 21} }, {
noMask, $32, 50, 10; /* ` ~ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $2A, 20, 30; /* \ | */
noMask, $1E, 0, -20; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $3B, 20, -45; /* control */
noMask, $3A, 0, 20; /* option */
noMask, $35, 0, 55; /* escape */
noMask, $34, 0, 115; /* enter (keyboard) */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7E, 0, 20 /* up arrow */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $24, 0, 255; /* return */
noMask, $37, 40, -215 /* command */
};
{ {21, 46} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 96} }, {
noMask, $31, 130, 105 /* space */
}
}
};
// ISO TIM/Derringer keyboard
resource 'KCAP' ($0D) {
{60, 60, 220, 370},
{12, 42, 36, 268},
{
{ {21, 21} }, {
noMask, $0A, 50, 10; /* ¤ */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */
noMask, $7E, 20, 15; /* up arrow */
noMask, $2C, 0, -45; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */
noMask, $3B, 20, -25; /* control */
noMask, $3A, 0, 20; /* option */
noMask, $35, 0, 55; /* escape */
noMask, $34, 0, 135; /* keyboard enter */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20 /* down arrow */
};
{ {21, 26} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $37, 40, 40 /* left command */
};
{ {21, 116} }, {
noMask, $31, 130, 105 /* space */
};
{ {21, 21}; {41, 5} }, {
noMask, $24, 70, 280 /* return */
}
}
};
//__________________________________________________________________________________________________
// Portable keyboards
// Note that KCAPs 6 and 7 are in the Portable's ROM
#if hasPortableKeyLayouts
// Portable keyboard
resource 'KCAP' ($06) {
{60, 45, 220, 455},
{12, 42, 36, 368},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $2A, 20, 30; /* \ | */
noMask, $1E, 0, -20; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2C, 20, -10; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $39, 20, -45; /* caps lock */
noMask, $3A, 0, 20; /* option */
noMask, $32, 0, 55; /* ` ~ */
noMask, $34, 0, 115; /* enter (keyboard) */
noMask, $7B, 0, 20; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $7E, 0, 20; /* up arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 31} }, {
noMask, $30, 70, 10; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $3B, 90, 10; /* control */
noMask, $24, 0, 255; /* return */
noMask, $37, 40, -215 /* command */
};
{ {21, 41} }, {
noMask, $52, 130, 320 /* 0 */
};
{ {21, 46} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245 /* right shift */
};
{ {21, 96} }, {
noMask, $31, 130, 105 /* space */
};
{ {41, 21} }, {
noMask, $4C, 110, 380 /* enter (keypad) */
}
}
};
// ISO Portable keyboard
resource 'KCAP' ($07) {
{60, 45, 220, 455},
{12, 42, 36, 368},
{
{ {21, 21} }, {
noMask, $35, 50, 10; /* escape */
noMask, $12, 0, 20; /* 1 ! */
noMask, $13, 0, 20; /* 2 @ */
noMask, $14, 0, 20; /* 3 # */
noMask, $15, 0, 20; /* 4 $ */
noMask, $17, 0, 20; /* 5 % */
noMask, $16, 0, 20; /* 6 ^ */
noMask, $1A, 0, 20; /* 7 & */
noMask, $1C, 0, 20; /* 8 * */
noMask, $19, 0, 20; /* 9 ( */
noMask, $1D, 0, 20; /* 0 ) */
noMask, $1B, 0, 20; /* - _ */
noMask, $18, 0, 20; /* = + */
noMask, $1E, 20, 10; /* ] } */
noMask, $21, 0, -20; /* [ { */
noMask, $23, 0, -20; /* P */
noMask, $1F, 0, -20; /* O */
noMask, $22, 0, -20; /* I */
noMask, $20, 0, -20; /* U */
noMask, $10, 0, -20; /* Y */
noMask, $11, 0, -20; /* T */
noMask, $0F, 0, -20; /* R */
noMask, $0E, 0, -20; /* E */
noMask, $0D, 0, -20; /* W */
noMask, $0C, 0, -20; /* Q */
noMask, $00, 20, 5; /* A */
noMask, $01, 0, 20; /* S */
noMask, $02, 0, 20; /* D */
noMask, $03, 0, 20; /* F */
noMask, $05, 0, 20; /* G */
noMask, $04, 0, 20; /* H */
noMask, $26, 0, 20; /* J */
noMask, $28, 0, 20; /* K */
noMask, $25, 0, 20; /* L */
noMask, $29, 0, 20; /* ; : */
noMask, $27, 0, 20; /* ' " */
noMask, $2A, 0, 20; /* \ | */
noMask, $7E, 20, 15; /* up arrow */
noMask, $2C, 0, -45; /* / ? */
noMask, $2F, 0, -20; /* . > */
noMask, $2B, 0, -20; /* , < */
noMask, $2E, 0, -20; /* M */
noMask, $2D, 0, -20; /* N */
noMask, $0B, 0, -20; /* B */
noMask, $09, 0, -20; /* V */
noMask, $08, 0, -20; /* C */
noMask, $07, 0, -20; /* X */
noMask, $06, 0, -20; /* Z */
noMask, $32, 0, -20; /* ` ~ */
noMask, $7B, 20, 205; /* left arrow */
noMask, $7C, 0, 20; /* right arrow */
noMask, $7D, 0, 20; /* down arrow */
noMask, $41, 0, 80; /* . */
noMask, $55, -20, 0; /* 3 */
noMask, $54, 0, -20; /* 2 */
noMask, $53, 0, -20; /* 1 */
noMask, $56, -20, 0; /* 4 */
noMask, $57, 0, 20; /* 5 */
noMask, $58, 0, 20; /* 6 */
noMask, $45, 0, 20; /* + */
noMask, $4E, -20, 0; /* - */
noMask, $5C, 0, -20; /* 9 */
noMask, $5B, 0, -20; /* 8 */
noMask, $59, 0, -20; /* 7 */
noMask, $47, -20, 0; /* clear */
noMask, $51, 0, 20; /* = */
noMask, $4B, 0, 20; /* / */
noMask, $43, 0, 20 /* * */
};
{ {21, 26} }, {
noMask, $38, 110, 10; /* left shift */
noMask, $38, 0, 245; /* right shift */
noMask, $3B, 20, -245 /* control */
};
{ {21, 31} }, {
noMask, $3A, 130, 35; /* option */
noMask, $30, -60, -25; /* tab */
noMask, $33, -20, 260 /* backspace */
};
{ {21, 36} }, {
noMask, $39, 90, 10; /* caps lock */
noMask, $37, 40, 55; /* left command */
noMask, $34, 0, 140 /* keyboard enter */
};
{ {21, 41} }, {
noMask, $52, 130, 320 /* 0 */
};
{ {21, 106} }, {
noMask, $31, 130, 100 /* space */
};
{ {21, 21}; {41, 5} }, {
noMask, $24, 70, 280 /* return */
};
{ {41, 21} }, {
noMask, $4C, 110, 380 /* enter */
}
}
};
#endif
data 'KCAP' (198) {
$"0032 003C 00F0 01E0 000C 002A 0024 017A"
$"000D 0000 000B 0015 0010 0035 0038 000A"
$"007A 0000 001E 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 001E 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001E 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0072 0000 0028 0073"
$"0000 0014 0074 0000 0014 0079 0000 0014"
$"0000 0015 0015 0031 0032 0046 000A 0012"
$"0000 0014 0013 0000 0014 0014 0000 0014"
$"0015 0000 0014 0017 0000 0014 0016 0000"
$"0014 001A 0000 0014 001C 0000 0014 0019"
$"0000 0014 001D 0000 0014 001B 0000 0014"
$"0018 0000 0014 002A 0014 001E 001E 0000"
$"FFEC 0021 0000 FFEC 0023 0000 FFEC 001F"
$"0000 FFEC 0022 0000 FFEC 0020 0000 FFEC"
$"0010 0000 FFEC 0011 0000 FFEC 000F 0000"
$"FFEC 000E 0000 FFEC 000D 0000 FFEC 000C"
$"0000 FFEC 0000 0014 0005 0001 0000 0014"
$"0002 0000 0014 0003 0000 0014 0005 0000"
$"0014 0004 0000 0014 0026 0000 0014 0028"
$"0000 0014 0025 0000 0014 0029 0000 0014"
$"0027 0000 0014 002C 0014 FFF6 002F 0000"
$"FFEC 002B 0000 FFEC 002E 0000 FFEC 002D"
$"0000 FFEC 000B 0000 FFEC 0009 0000 FFEC"
$"0008 0000 FFEC 0007 0000 FFEC 0006 0000"
$"FFEC 003A 0014 FFEC 0037 0000 0014 0037"
$"0000 0096 0000 0015 0015 000F 0041 0096"
$"0168 0055 FFEC 0000 0054 0000 FFEC 0053"
$"0000 FFEC 0056 FFEC 0000 0057 0000 0014"
$"0058 0000 0014 0045 0000 0014 004E FFEC"
$"0000 005C 0000 FFEC 005B 0000 FFEC 0059"
$"0000 FFEC 0047 FFEC 0000 0051 0000 0014"
$"004B 0000 0014 0043 0000 0014 0000 0015"
$"001F 0000 0030 005A 000A 0000 0015 001F"
$"0000 0033 0046 010E 0000 0015 0029 0000"
$"0052 0096 0140 0000 0029 0015 0000 004C"
$"0082 017C 0000 0015 001A 0000 003B 0096"
$"000A 0000 000B 0015 0003 007B 00A2 00F0"
$"007D 0000 0014 007C 0000 0014 007E FFF6"
$"FFEC 0000 0015 0024 0000 0039 006E 000A"
$"0000 0015 0024 0000 0024 006E 0109 0000"
$"0015 002E 0001 0038 0082 000A 0038 0000"
$"00F5 0000 0015 0083 0000 0031 0096 004B"
};
data 'KCAP' (199) {
$"0032 003C 00F0 01E0 000C 002A 0024 017A"
$"000E 0000 000B 0015 0010 0035 0038 000A"
$"007A 0000 001E 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 001E 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001E 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0072 0000 0028 0073"
$"0000 0014 0074 0000 0014 0079 0000 0014"
$"0000 0015 0015 002F 000A 0046 000A 0012"
$"0000 0014 0013 0000 0014 0014 0000 0014"
$"0015 0000 0014 0017 0000 0014 0016 0000"
$"0014 001A 0000 0014 001C 0000 0014 0019"
$"0000 0014 001D 0000 0014 001B 0000 0014"
$"0018 0000 0014 001E 0014 000A 0021 0000"
$"FFEC 0023 0000 FFEC 001F 0000 FFEC 0022"
$"0000 FFEC 0020 0000 FFEC 0010 0000 FFEC"
$"0011 0000 FFEC 000F 0000 FFEC 000E 0000"
$"FFEC 000D 0000 FFEC 000C 0000 FFEC 0000"
$"0014 0005 0001 0000 0014 0002 0000 0014"
$"0003 0000 0014 0005 0000 0014 0004 0000"
$"0014 0026 0000 0014 0028 0000 0014 0025"
$"0000 0014 0029 0000 0014 0027 0000 0014"
$"002A 0000 0014 002C 0014 FFE7 002F 0000"
$"FFEC 002B 0000 FFEC 002E 0000 FFEC 002D"
$"0000 FFEC 000B 0000 FFEC 0009 0000 FFEC"
$"0008 0000 FFEC 0007 0000 FFEC 0006 0000"
$"FFEC 0032 0000 FFEC 0000 0015 0015 000F"
$"0041 0096 0168 0055 FFEC 0000 0054 0000"
$"FFEC 0053 0000 FFEC 0056 FFEC 0000 0057"
$"0000 0014 0058 0000 0014 0045 0000 0014"
$"004E FFEC 0000 005C 0000 FFEC 005B 0000"
$"FFEC 0059 0000 FFEC 0047 FFEC 0000 0051"
$"0000 0014 004B 0000 0014 0043 0000 0014"
$"0000 0015 001F 0000 0030 005A 000A 0000"
$"0015 001F 0001 0038 0082 000A 003A 0014"
$"0019 0000 0015 0029 0000 0052 0096 0140"
$"0000 0029 0015 0000 004C 0082 017C 0000"
$"0015 001A 0002 003B 0096 000A 0037 0000"
$"0037 0037 0000 009B 0000 000B 0015 0003"
$"007B 00A0 00F5 007D 0000 0014 007C 0000"
$"0014 007E FFF6 FFEC 0000 0015 0024 0000"
$"0039 006E 000A 0000 0015 0024 0000 0033"
$"0046 010E 0001 0015 001A 0029 0005 0000"
$"0024 005A 0118 0000 0015 002E 0000 0038"
$"0082 0104 0000 0015 0083 0000 0031 0096"
$"005A"
};
data 'KCAP' (200) {
$"0032 003C 00F0 01E0 000C 002A 0024 017A"
$"0010 0000 000B 0015 0010 0035 0038 000A"
$"007A 0000 0021 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 001C 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001C 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0072 0000 0028 0073"
$"0000 0014 0074 0000 0014 0079 0000 0014"
$"0000 0015 001C 0000 0012 0046 000A 0000"
$"0015 0015 000B 0013 0046 0025 0014 0000"
$"0014 0015 0000 0014 0017 0000 0014 0016"
$"0000 0014 001A 0000 0014 001C 0000 0014"
$"0019 0000 0014 001D 0000 0014 001B 0000"
$"0014 0018 0000 0014 005D 0000 0014 0000"
$"0015 0018 0000 0033 0046 0115 0000 0015"
$"0015 0026 001E 005A 00FA 0021 0000 FFEC"
$"0023 0000 FFEC 001F 0000 FFEC 0022 0000"
$"FFEC 0020 0000 FFEC 0010 0000 FFEC 0011"
$"0000 FFEC 000F 0000 FFEC 000E 0000 FFEC"
$"000D 0000 FFEC 000C 0000 FFEC 0030 0000"
$"FFEC 0000 0014 0019 0001 0000 0014 0002"
$"0000 0014 0003 0000 0014 0005 0000 0014"
$"0004 0000 0014 0026 0000 0014 0028 0000"
$"0014 0025 0000 0014 0029 0000 0014 0027"
$"0000 0014 002A 0000 0014 005E 0014 FFF6"
$"002C 0000 FFEC 002F 0000 FFEC 002B 0000"
$"FFEC 002E 0000 FFEC 002D 0000 FFEC 000B"
$"0000 FFEC 0009 0000 FFEC 0008 0000 FFEC"
$"0007 0000 FFEC 0006 0000 FFEC 003A 0014"
$"FFFD 0037 0000 0014 0066 0000 0014 0001"
$"0015 001F 0029 0005 0000 0024 005A 010E"
$"0000 0015 001A 0000 0036 006E 000A 0000"
$"0015 0024 0000 0038 0082 000A 0000 0015"
$"0024 0000 0038 0082 0109 0000 0029 0015"
$"0000 004C 0082 017C 0000 0015 001A 0003"
$"003B 006E 000A 0068 0028 009C 0037 0000"
$"0019 003A 0000 0019 0000 0015 0015 000F"
$"0041 0096 0168 0055 FFEC 0000 0054 0000"
$"FFEC 0053 0000 FFEC 0056 FFEC 0000 0057"
$"0000 0014 0058 0000 0014 0045 0000 0014"
$"004E FFEC 0000 005C 0000 FFEC 005B 0000"
$"FFEC 0059 0000 FFEC 0047 FFEC 0000 0051"
$"0000 0014 004B 0000 0014 0043 0000 0014"
$"0000 0015 0021 0000 0039 0096 000A 0000"
$"0015 0041 0000 0031 0096 0066 0000 0015"
$"0015 0001 0052 0096 0140 005F 0000 0014"
$"0000 000B 0015 0003 007B 00A0 00F5 007D"
$"0000 0014 007C 0000 0014 007E FFF6 FFEC"
};
data 'KCAP' (204) {
$"0032 003C 00E6 022B 000C 002A 0024 01CD"
$"0010 0000 0015 0015 0015 0035 0032 000A"
$"007A 0000 0020 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 0020 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001F 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0069 0000 0028 006B"
$"0000 0014 0071 0000 0014 0072 0014 FFD8"
$"0073 0000 0014 0074 0000 0014 0075 0014"
$"FFD8 0077 0000 0014 0079 0000 0014 0000"
$"0015 0015 002D 0032 0046 000A 0012 0000"
$"0014 0013 0000 0014 0014 0000 0014 0015"
$"0000 0014 0017 0000 0014 0016 0000 0014"
$"001A 0000 0014 001C 0000 0014 0019 0000"
$"0014 001D 0000 0014 001B 0000 0014 0018"
$"0000 0014 001E 0014 000A 0021 0000 FFEC"
$"0023 0000 FFEC 001F 0000 FFEC 0022 0000"
$"FFEC 0020 0000 FFEC 0010 0000 FFEC 0011"
$"0000 FFEC 000F 0000 FFEC 000E 0000 FFEC"
$"000D 0000 FFEC 000C 0000 FFEC 0000 0014"
$"0005 0001 0000 0014 0002 0000 0014 0003"
$"0000 0014 0005 0000 0014 0004 0000 0014"
$"0026 0000 0014 0028 0000 0014 0025 0000"
$"0014 0029 0000 0014 0027 0000 0014 002C"
$"0014 FFF6 002F 0000 FFEC 002B 0000 FFEC"
$"002E 0000 FFEC 002D 0000 FFEC 000B 0000"
$"FFEC 0009 0000 FFEC 0008 0000 FFEC 0007"
$"0000 FFEC 0006 0000 FFEC 0000 0015 0015"
$"000F 0041 0096 01BD 0055 FFEC 0000 0054"
$"0000 FFEC 0053 0000 FFEC 0056 FFEC 0000"
$"0057 0000 0014 0058 0000 0014 0045 0000"
$"0014 004E FFEC 0000 005C 0000 FFEC 005B"
$"0000 FFEC 0059 0000 FFEC 0047 FFEC 0000"
$"0051 0000 0014 004B 0000 0014 0043 0000"
$"0014 0000 0015 0029 0000 0052 0096 0195"
$"0000 0029 0015 0000 004C 0082 01D1 0000"
$"0015 001F 0000 0030 005A 000A 0000 0015"
$"0024 0000 0039 006E 000A 0000 0015 002E"
$"0000 0038 0082 000A 0000 0015 0033 0000"
$"0038 0082 00FF 0000 0015 001A 0002 003B"
$"0096 000A 003A 0000 0019 0037 0000 0019"
$"0000 0015 001A 0002 0037 0096 00E6 003A"
$"0000 0019 003B 0000 0019 0000 0015 0015"
$"0003 007E 0082 0159 007B 0014 FFEC 007D"
$"0000 0014 007C 0000 0014 0000 0015 0024"
$"0000 0033 0046 010E 0000 0015 001A 0000"
$"002A 005A 0118 0000 0015 0029 0000 0024"
$"006E 0109 0000 0015 0092 0000 0031 0096"
$"0055"
};
data 'KCAP' (205) {
$"0032 003C 00E6 022B 000C 002A 0024 01CD"
$"000F 0000 0015 0015 0015 0035 0032 000A"
$"007A 0000 0020 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 0020 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001F 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0069 0000 0028 006B"
$"0000 0014 0071 0000 0014 0072 0014 FFD8"
$"0073 0000 0014 0074 0000 0014 0075 0014"
$"FFD8 0077 0000 0014 0079 0000 0014 0000"
$"0015 0015 002F 000A 0046 000A 0012 0000"
$"0014 0013 0000 0014 0014 0000 0014 0015"
$"0000 0014 0017 0000 0014 0016 0000 0014"
$"001A 0000 0014 001C 0000 0014 0019 0000"
$"0014 001D 0000 0014 001B 0000 0014 0018"
$"0000 0014 001E 0014 000A 0021 0000 FFEC"
$"0023 0000 FFEC 001F 0000 FFEC 0022 0000"
$"FFEC 0020 0000 FFEC 0010 0000 FFEC 0011"
$"0000 FFEC 000F 0000 FFEC 000E 0000 FFEC"
$"000D 0000 FFEC 000C 0000 FFEC 0000 0014"
$"0005 0001 0000 0014 0002 0000 0014 0003"
$"0000 0014 0005 0000 0014 0004 0000 0014"
$"0026 0000 0014 0028 0000 0014 0025 0000"
$"0014 0029 0000 0014 0027 0000 0014 002A"
$"0000 0014 002C 0014 FFE7 002F 0000 FFEC"
$"002B 0000 FFEC 002E 0000 FFEC 002D 0000"
$"FFEC 000B 0000 FFEC 0009 0000 FFEC 0008"
$"0000 FFEC 0007 0000 FFEC 0006 0000 FFEC"
$"0032 0000 FFEC 0000 0015 0015 000F 0041"
$"0096 01BD 0055 FFEC 0000 0054 0000 FFEC"
$"0053 0000 FFEC 0056 FFEC 0000 0057 0000"
$"0014 0058 0000 0014 0045 0000 0014 004E"
$"FFEC 0000 005C 0000 FFEC 005B 0000 FFEC"
$"0059 0000 FFEC 0047 FFEC 0000 0051 0000"
$"0014 004B 0000 0014 0043 0000 0014 0000"
$"0015 0029 0000 0052 0096 0195 0000 0029"
$"0015 0000 004C 0082 01D1 0001 0015 001A"
$"0029 0005 0000 0024 005A 0118 0000 0015"
$"001F 0000 0030 005A 000A 0000 0015 0024"
$"0000 0039 006E 000A 0000 0015 001F 0000"
$"0038 0082 000A 0000 0015 002E 0000 0038"
$"0082 0104 0000 0015 001A 0002 003B 0096"
$"000A 003A 0000 0019 0037 0000 0019 0000"
$"0015 001A 0002 0037 0096 00E6 003A 0000"
$"0019 003B 0000 0019 0000 0015 0015 0003"
$"007E 0082 0159 007B 0014 FFEC 007D 0000"
$"0014 007C 0000 0014 0000 0015 0024 0000"
$"0033 0046 010E 0000 0015 0092 0000 0031"
$"0096 0055"
};
data 'KCAP' (206) {
$"0032 003C 00E6 022B 000C 002A 0024 01CD"
$"0014 0000 0015 0015 0015 0035 0032 000A"
$"007A 0000 0020 0078 0000 0014 0063 0000"
$"0014 0076 0000 0014 0060 0000 0020 0061"
$"0000 0014 0062 0000 0014 0064 0000 0014"
$"0065 0000 001F 006D 0000 0014 0067 0000"
$"0014 006F 0000 0014 0069 0000 0028 006B"
$"0000 0014 0071 0000 0014 0072 0014 FFD8"
$"0073 0000 0014 0074 0000 0014 0075 0014"
$"FFD8 0077 0000 0014 0079 0000 0014 0000"
$"0015 0015 0003 007E 0082 0159 007B 0014"
$"FFEC 007D 0000 0014 007C 0000 0014 0000"
$"0015 001F 0000 0012 0046 000A 0000 0015"
$"0015 000B 0013 0046 0028 0014 0000 0014"
$"0015 0000 0014 0017 0000 0014 0016 0000"
$"0014 001A 0000 0014 001C 0000 0014 0019"
$"0000 0014 001D 0000 0014 001B 0000 0014"
$"0018 0000 0014 005D 0000 0014 0000 0015"
$"001A 0000 0033 0046 0118 0000 0015 001A"
$"0000 0030 005A 000A 0000 0015 0015 000B"
$"001E 005A 00FF 0021 0000 FFEC 0023 0000"
$"FFEC 001F 0000 FFEC 0022 0000 FFEC 0020"
$"0000 FFEC 0010 0000 FFEC 0011 0000 FFEC"
$"000F 0000 FFEC 000E 0000 FFEC 000D 0000"
$"FFEC 000C 0000 FFEC 0000 0015 0015 0016"
$"0000 006E 0028 0001 0000 0014 0002 0000"
$"0014 0003 0000 0014 0005 0000 0014 0004"
$"0000 0014 0026 0000 0014 0028 0000 0014"
$"0025 0000 0014 0029 0000 0014 0027 0000"
$"0014 002A 0000 0014 005E 0014 FFF6 002C"
$"0000 FFEC 002F 0000 FFEC 002B 0000 FFEC"
$"002E 0000 FFEC 002D 0000 FFEC 000B 0000"
$"FFEC 0009 0000 FFEC 0008 0000 FFEC 0007"
$"0000 FFEC 0006 0000 FFEC 0000 0029 0015"
$"0000 004C 0082 01CF 0000 0015 0015 000F"
$"0041 0096 01BB 0055 FFEC 0000 0054 0000"
$"FFEC 0053 0000 FFEC 0056 FFEC 0000 0057"
$"0000 0014 0058 0000 0014 0045 0000 0014"
$"004E FFEC 0000 005C 0000 FFEC 005B 0000"
$"FFEC 0059 0000 FFEC 0047 FFEC 0000 0051"
$"0000 0014 004B 0000 0014 0043 0000 0014"
$"0000 0015 0015 0001 0052 0096 0193 005F"
$"0000 0014 0001 0015 001F 0029 0005 0000"
$"0024 005A 0113 0000 0015 001F 0000 003B"
$"006E 000A 0000 0015 0029 0000 0038 0082"
$"000A 0000 0015 0024 0000 0038 0082 010E"
$"0000 0015 0023 0000 0039 0096 000A 0000"
$"0015 001A 0002 003A 0096 002C 0037 0000"
$"0019 0066 0000 0019 0000 0015 0051 0000"
$"0031 0096 0077 0000 0015 001A 0002 0068"
$"0096 00C7 0037 0000 0019 003A 0000 0019"
$"0000 0015 0020 0000 003B 0096 0112"
};