# Default key mapping table for Free42
#
# Format: [Ctrl|Alt|Shift|CShift|NumPad|NumLock]* <Character> : <macro>
# <Character> is either a printable character, or an ASCII character code
# written in hexadecimal with a 0x prefix. So, for example, the character 0
# (zero) can be written as "0" or "0x30" (without the quotes); the two
# representations are equivalent.
# Alternatively, instead of a character, a key name for one of the non-
# character keys may be specified. The following key codes are recognized:
#
#   ESCAPE TAB BACKSPACE ENTER SPACE
#   UP DOWN LEFT RIGHT INSERT DELETE HOME END PAGE_UP PAGE_DOWN CLEAR
#   F1..F20
#
# <macro> is a sequence of zero or more HP-42S key codes. The HP-42S key codes
# must be between 1 and 255; codes 1..37 correspond to actual keys on the
# calculator's keyboard, while codes 38..255 can be used to refer to extra keys
# defined by customized skins.
#
# Ctrl, Alt, Shift, and NumLock refer to the corresponding modifier keys.
# CShift refers to the state of the Calculator's Shift annunciator. This
# modifier makes it possible for [CShift] [Key] to activate a different
# keystroke or macro than the unshifted [Key], so you can, for example, make
# CShift SQRT be something other than X^2.
# NumPad indicates a key on the numeric keypad.
# Keystrokes with NumPad, NumLock, or CShift may be matched with key mappings
# without some or all of these modifiers, if no exact match is found. If
# multiple inexact matches are found, mappings with matching NumPad modifiers
# get the highest priority, followed by NumLock and CShift.
#
# Anything from a "#" until the end of the line is a comment, and is ignored.
# White space (Space, Tab) separates tokens in the key map, but is otherwise
# ignored.

F1             : 1       # menu key 1
F2             : 2       # menu key 2
F3             : 3       # menu key 3
F4             : 4       # menu key 4
F5             : 5       # menu key 5
F6             : 6       # menu key 6
a              : 1       # Sigma+ ("Accumulate")
v              : 2       # 1/X ("inVerse")
q              : 3       # sqrt(X) ("sQuare root")
o              : 4       # LOG ("lOg, not Ln")
l              : 5       # LN ("Ln, not lOg")
x              : 6       # XEQ
m              : 7       # STO (m as in memory)
r              : 8       # RCL
d              : 9       # RDN (d as in down)
s              : 10      # SIN
c              : 11      # COS
t              : 12      # TAN
ENTER          : 13      # ENTER
w              : 14      # X<>Y ("sWap")
n              : 15      # +/- ("Negative")
e              : 16      # E
BACKSPACE      : 17      # <-
UP             : 18      # up
7              : 19      # 7
8              : 20      # 8
9              : 21      # 9
/              : 22      # divide
DOWN           : 23      # down
4              : 24      # 4
5              : 25      # 5
6              : 26      # 6
*              : 27      # multiply
1              : 29      # 1
2              : 30      # 2
3              : 31      # 3
-              : 32      # -
ESCAPE         : 33      # EXIT
0              : 34      # 0
.              : 35      # .
,              : 35      # .
\              : 36      # R/S
+              : 37      # +

# Convenience key codes for GTO and PI
g              : 28 6    # GTO
p              : 28 9    # PI
