#=======================================================================
#   File name:  KEYBOARD.TXT
#
#   Contents:   Map (external version) from Mac OS Keyboard
#               character set to Unicode 4.0 and later.
#
#   Copyright:  (c) 2001-2002, 2005 by Apple Computer, Inc., all rights
#               reserved.
#
#   Contact:    charsets@apple.com
#
#   Changes:
#
#       c02  2005-Apr-05    Change mappings for 0x09, 0x0F, 0x8C; add
#                           Mac OS X-only mappings for 0x8D-9x8F.
#                           Update header comments, including
#                           clarification of Mac OS X usage. Matches
#                           internal xml <c1.2> and Text Encoding
#                           Converter 2.0.
#      b1,c1 2002-Dec-19    First version. Matches internal utom<b6>.
#
# Standard header:
# ----------------
#
#   Apple, the Apple logo, and Macintosh are trademarks of Apple
#   Computer, Inc., registered in the United States and other countries.
#   Unicode is a trademark of Unicode Inc. For the sake of brevity,
#   throughout this document, "Macintosh" can be used to refer to
#   Macintosh computers and "Unicode" can be used to refer to the
#   Unicode standard.
#
#   Apple Computer, Inc. ("Apple") makes no warranty or representation,
#   either express or implied, with respect to this document and the
#   included data, its quality, accuracy, or fitness for a particular
#   purpose. In no event will Apple be liable for direct, indirect,
#   special, incidental, or consequential damages resulting from any
#   defect or inaccuracy in this document or the included data.
#
#   These mapping tables and character lists are subject to change.
#   The latest tables should be available from the following:
#
#   <http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/>
#
#   For general information about Mac OS encodings and these mapping
#   tables, see the file "README.TXT".
#
# Format:
# -------
#
#   Three tab-separated columns;
#   '#' begins a comment which continues to the end of the line.
#     Column #1 is the Mac OS Keyboard code (in hex as 0xNN)
#     Column #2 is the corresponding Unicode or Unicode sequence
#       (in hex as 0xNNNN or 0xNNNN+0xNNNN, etc.).
#     Column #3 is a comment containing the Unicode name.
#       In some cases an additional comment follows the Unicode name.
#
#   The entries are in Mac OS Keyboard code order.
#
#   Some of these mappings require the use of corporate characters.
#   See the file "CORPCHAR.TXT" and notes below.
#
#   The Mac OS Keyboard character set uses the ranges normally set aside
#   for controls, so those ranges are present in this table.
#
# Notes on Mac OS Keyboard:
# -------------------------
#
#   This is the encoding for the legacy font named ".Keyboard". Before
#   Mac OS X, this font was used by the user-interface system to display
#   glyphs for special keys on the keyboard. In Mac OS X, that font is
#   not present and this mapping is not associated with a font; it is
#   only used as a way to map from a set of Menu Manager constants to
#   associated Unicode sequences. As such, new mappings added for Mac OS
#   X only may be one-way mappings: From the Keyboard glyph "encoding"
#   to Unicode, but not back.
#
#   The Mac OS Keyboard encoding shares the script code smRoman
#   (0) with the Mac OS Roman encoding. To determine if the Keyboard
#   encoding is being used in Mac OS 8 or Mac OS 9, you must check if
#   the font name is ".Keyboard".
#
# Unicode mapping issues and notes:
# ---------------------------------
#
#   The goals in the mappings provided here are:
#   - For mappings used in Mac OS 8 and Mac OS 9, ensure roundtrip
#     mapping from every character in the Mac OS  Keyboard character set
#     to Unicode and back. This consideration does not apply to mappings
#     added for Mac OS X only (noted below).
#   - Use standard Unicode characters as much as possible, to
#     maximize interchangeability of the resulting Unicode text.
#     Whenever possible, avoid having content carried by private-use
#     characters.
#
#   Some of the characters in the Mac OS Keyboard character set do not
#   correspond to distinct, single Unicode characters. To map these
#   and satisfy both goals above, we employ various strategies.
#
#   a) If possible, use private use characters in combination with
#   standard Unicode characters to mark variants of the standard
#   Unicode character.
#
#   Apple has defined a block of 32 corporate characters as "transcoding
#   hints." These are used in combination with standard Unicode
#   characters to force them to be treated in a special way for mapping
#   to other encodings; they have no other effect. Sixteen of these
#   transcoding hints are "grouping hints" - they indicate that the next
#   2-4 Unicode characters should be treated as a single entity for
#   transcoding. The other sixteen transcoding hints are "variant tags"
#   - they are like combining characters, and can follow a standard
#   Unicode (or a sequence consisting of a base character and other
#   combining characters) to cause it to be treated in a special way for
#   transcoding. These always terminate a combining-character sequence.
#
#   The transcoding coding hints used in this mapping table are two
#   grouping tags, 0xF860-61, and one variant tag, 0xF87F. Since these
#   are combined with standard Unicode characters, some characters in
#   the Mac OS Keyboard character set map to a sequence of two to four
#   Unicodes instead of a single Unicode character.
#
#   For example, the Mac OS Keyboard character at 0x6F, representing the
#   F1 key, is mapped to Unicode using the grouping tag F860 (group next
#   two) followed by U+0046 (LATIN CAPITAL LETTER F) and U+0031 (DIGIT
#   ONE).
#
#   b) Otherwise, use private use characters by themselves to map Mac OS
#   Keyboard characters which have no relationship to any standard
#   Unicode character.
#
#   The following additional corporate zone Unicode characters are
#   used for this purpose here:
#
#     0xF802  Lower left pencil
#     0xF803  Contextual menu key symbol
#     0xF8FF  Apple logo
#
#   NOTE: The graphic image associated with the Apple logo character
#   is not authorized for use without permission of Apple, and
#   unauthorized use might constitute trademark infringement.
#
# Details of mapping changes in each version:
# -------------------------------------------
#
#   Changes from version c01 to version c02:
#
#   - Mapping for 0x09 changed from 0x0009 (wrong) to 0x2423
#   - Mapping for 0x0F changed from 0x270E (wrong) to 0xF802
#   - Mapping for 0x8C changed from 0xF804 to 0x23CF (Unicode 4.0)
#   - Add Mac OS X-only mappings for 0x8D-0x8F
#
##################

0x00	0x0000	# control - NUL
#
0x02	0x21E5	# RIGHTWARDS ARROW TO BAR # Tab right (left-to-right text)
0x03	0x21E4	# LEFTWARDS ARROW TO BAR # Tab left (right-to-left text)
0x04	0x2324	# UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS # Enter key
0x05	0x21E7	# UPWARDS WHITE ARROW # Shift key
0x06	0x2303	# UP ARROWHEAD # Control key
0x07	0x2325	# OPTION KEY # Option key
0x08	0x0008	# control - BS
0x09	0x2423	# OPEN BOX # Space key (Mac OS X mapping, duplicates mapping for 0x61, hence no round-trip)
0x0A	0x2326	# ERASE TO THE RIGHT # Delete right (right-to-left text)
0x0B	0x21A9	# LEFTWARDS ARROW WITH HOOK # Return key (left-to-right text)
0x0C	0x21AA	# RIGHTWARDS ARROW WITH HOOK # Return key (right-to-left text)
0x0D	0x000D	# control - CR
#
0x0F	0xF802	# lower left pencil
0x10	0x21E3	# DOWNWARDS DASHED ARROW
0x11	0x2318	# PLACE OF INTEREST SIGN # Command key
0x12	0x2713	# CHECK MARK
0x13	0x25C6	# BLACK DIAMOND
0x14	0xF8FF	# Apple logo
#
0x17	0x232B	# ERASE TO THE LEFT # Delete left (left-to-right text)
0x18	0x21E0	# LEFTWARDS DASHED ARROW
0x19	0x21E1	# UPWARDS DASHED ARROW
0x1A	0x21E2	# RIGHTWARDS DASHED ARROW
0x1B	0x238B	# BROKEN CIRCLE WITH NORTHWEST ARROW # Escape key; for Unicode 3.0 and later
0x1C	0x2327	# X IN A RECTANGLE BOX # Clear key
#
0x20	0x0020	# SPACE
#
0x30	0x0030	# DIGIT ZERO
0x31	0x0031	# DIGIT ONE
0x32	0x0032	# DIGIT TWO
0x33	0x0033	# DIGIT THREE
0x34	0x0034	# DIGIT FOUR
0x35	0x0035	# DIGIT FIVE
0x36	0x0036	# DIGIT SIX
0x37	0x0037	# DIGIT SEVEN
0x38	0x0038	# DIGIT EIGHT
0x39	0x0039	# DIGIT NINE
#
0x46	0x0046	# LATIN CAPITAL LETTER F
#
0x61	0x2423	# OPEN BOX # Blank key
0x62	0x21DE	# UPWARDS ARROW WITH DOUBLE STROKE # Page up key
0x63	0x21EA	# UPWARDS WHITE ARROW FROM BAR # Caps lock key
0x64	0x2190	# LEFTWARDS ARROW
0x65	0x2192	# RIGHTWARDS ARROW
0x66	0x2196	# NORTH WEST ARROW
0x67	0x003F+0x20DD	# QUESTION MARK + COMBINING ENCLOSING CIRCLE # Help key
0x68	0x2191	# UPWARDS ARROW
0x69	0x2198	# SOUTH EAST ARROW
0x6A	0x2193	# DOWNWARDS ARROW
0x6B	0x21DF	# DOWNWARDS ARROW WITH DOUBLE STROKE # Page down key
0x6C	0xF8FF+0xF87F	# Apple logo, outline
0x6D	0xF803	# Contextual menu key symbol
0x6E	0x2758+0x20DD	# LIGHT VERTICAL BAR + COMBINING ENCLOSING CIRCLE # Power key
0x6F	0xF860+0x0046+0x0031	# group_2 + F + 1 # F1 key
0x70	0xF860+0x0046+0x0032	# group_2 + F + 2 # F2 key
0x71	0xF860+0x0046+0x0033	# group_2 + F + 3 # F3 key
0x72	0xF860+0x0046+0x0034	# group_2 + F + 4 # F4 key
0x73	0xF860+0x0046+0x0035	# group_2 + F + 5 # F5 key
0x74	0xF860+0x0046+0x0036	# group_2 + F + 6 # F6 key
0x75	0xF860+0x0046+0x0037	# group_2 + F + 7 # F7 key
0x76	0xF860+0x0046+0x0038	# group_2 + F + 8 # F8 key
0x77	0xF860+0x0046+0x0039	# group_2 + F + 9 # F9 key
0x78	0xF861+0x0046+0x0031+0x0030	# group_3 + F + 1 + 0 # F10 key
0x79	0xF861+0x0046+0x0031+0x0031	# group_3 + F + 1 + 1 # F11 key
0x7A	0xF861+0x0046+0x0031+0x0032	# group_3 + F + 1 + 2 # F12 key
#
0x87	0xF861+0x0046+0x0031+0x0033	# group_3 + F + 1 + 3 # F13 key
0x88	0xF861+0x0046+0x0031+0x0034	# group_3 + F + 1 + 4 # F14 key
0x89	0xF861+0x0046+0x0031+0x0035	# group_3 + F + 1 + 5 # F15 key
0x8A	0x2388	# HELM SYMBOL # Control key (ISO standard), Unicode 3.0 and later
0x8B	0x2387	# ALTERNATIVE KEY SYMBOL # Unicode 3.0 and later
0x8C	0x23CF	# EJECT SYMBOL # Unicode 4.0 and later, Mac OS X only
0x8D	0x82F1+0x6570	# Japanese "eisu" key symbol # Mac OS X only
0x8E	0x304B+0x306A	# Japanese "kana" key symbol # Mac OS X only
0x8F	0xF861+0x0046+0x0031+0x0036	# group_3 + F + 1 + 6 # F16 key, Mac OS X only
#
