Using the keymap-master spreadsheet
=================================================================
KM was originally designed and written by Rob Crowe.




General Notes:
==============
keymap-master is best used at screen resolutions of 1024 x 768  
or higher, with Microsoft Excel running in a maximized window.

keymap-master uses Microsoft Office VBA code (macros). When 
opening the spreadsheet, you MUST select "Enable Macros", OR 
ensure that your security settings allow macro code to be 
executed, in order for KM to function properly (for specific 
details, see the Microsoft Excel help file). Without macro 
capability, you won't be able to LOAD or SAVE Device Upgrade 
files, or use many of KM's advanced features, like the command 
buttons.

keymap-master REQUIRES the Microsoft Excel Analysis ToolPak to 
function properly. Go to Tools, Add-Ins..., and make sure the 
"Analysis ToolPak" is checked (for specific details, see the 
Microsoft Excel help file). If you're using a non-English version 
of Excel and/or the ToolPak, please see the "ToolPak Notes" 
section below.

Due to some quirks in Excel, anytime a text entry is made that 
contains a comma (,) or semi-colon (;), those characters will be 
replaced with a space ( ) in any saved text file. This includes 
the Device Description, ALL Notes fields, and function labels 
entered on the [Functions] sheet. It is best NOT to use any of 
these characters in any data entry cells.

Whenever pasting data into keymap-master, it is REQUIRED that 
Excel's "Paste Special" command be used instead of the normal 
"Paste" feature. This preserves the formatting and integrity of 
the KM spreadsheet. The "Paste Special" command can be found on 
Excel's Edit menu, and only the "Text" or "Values" option should 
be used.

Throughout keymap-master, different colors are used to denote 
different things. Typically, any cell where data can be entered 
is yellow, while light yellow (buff) cells are display-only (no 
data entry allowed). "Help" prompts are bold green text, and 
error messages or warnings appear in bold red. This is all done 
in an effort to make KM as easy to use as possible.

Due to KM's large size (well over 2mb), saving individual 
spreadsheet files for each Device Upgrade is NOT recommended. 
Instead, use the [SAVE...] button to save a much smaller text 
file (4k - 6k) containing just the upgrade data (these are the 
same text files that can be uploaded to and downloaded from the 
JP1 group Files, Device Codes area).

NOTE: Any upgrade files that you want to upload to the JP1 Group 
Files area MUST be saved as a text file and not as the entire 
.XLS file in order to conserve space.

Loading and saving Device Upgrade files in an older version of KM 
than the one they were created in can cause certain data to be 
lost. You should always obtain and use the most current version 
of KM to take advantage of the latest features, improvements, and 
bug fixes.

IMPORTANT!: The worksheets in keymap-master are protected to 
prohibit unnecessary, unauthorized, and potentially fatal changes 
to its structure. It is a very complex spreadsheet with numerous 
interactions among the various sheets. 

Unless explicitly instructed to do so by one of the KM "experts", 
DO NOT, UNDER ANY CIRCUMSTANCES, UNPROTECT ANY WORKSHEET AND/OR 
MODIFY ANYTHING! If you inadvertently do, DO NOT resave the 
spreadsheet. If KM starts giving incorrect results, the best 
recourse is to download and/or unzip a fresh copy to replace your 
current working copy.




Using the [Setup] worksheet:
============================
The key pieces of information required to build a Device Upgrade 
are located on the [Setup] sheet. They are:

Remote:
-------
Use the in-cell drop-down list to select the desired remote you 
want to build an upgrade for. A Device Upgrade for one model 
remote will NOT work on another. Selecting the proper remote here 
is important.

Device Type:
------------
Use the in-cell drop-down list to select the desired type of 
device. Note that an upgrade can utilize ANY device regardless of 
what device button it will be assigned to on the remote. Also, 
different device types use different key maps. If you'd like to 
see what buttons are available in a given device mode for the 
selected remote, view the [Layout] sheet. For example, the table 
below shows the buttons available on a 15-1994 remote:

CBL             TV               VCR/DVD          CD/Audio
------------    -------------    -------------    -------------
num0 - num9     num0 - num9      num0 - num9      num0 - num9
vol+/-/mute     vol+/-/mute      vol+/-/mute      vol+/-/mute
channel+/-      channel+/-       channel+/-       channel+/-
power           power            power            power
enter           enter            enter            enter
tv/vcr          tv/vcr           tv/vcr           tv/vcr
last            last             last             last
play            menu             menu             menu
pause           program/guide    program/guide    program/guide
rewind          up arrow         up arrow         up arrow
fast fwd        down arrow       down arrow       down arrow
stop            left arrow       left arrow       left arrow
record          right arrow      right arrow      right arrow
menu            select           select           select
program/guide   sleep            sleep            sleep
up arrow        pip              pip              surround
down arrow      display          display          display
left arrow      swap             swap             play
right arrow     move             move             pause
select          exit             play             rewind
sleep                            pause            fast fwd
pip                              rewind           stop
display                          fast fwd         record
swap                             stop             exit
move                             record
exit                             exit

Setup Code:
-----------
Enter a 4-digit number between "0000" and "2047". If creating an 
upgrade of an existing code, the JP1 convention is to add "1000" 
to the existing number. For example, if you're creating an 
upgrade for Cable/0476, you should use "1476" as the Setup Code. 
It's acceptable to use the same number as a built-in code, 
however, this precludes using the built-in code on the remote 
itself, since EEPROM upgrades are used before those built-in.

Button Codes:
-------------
Use the in-cell drop-down to select EFC or OBC-style button 
codes. Most protocols use EFC (Extended Function Codes, a.k.a. 
Advance Codes) style codes. A few require OBC (Original Button 
Codes) style. This setting essentially tells KM how to interpret 
the data entered on the [Functions] sheet when calculating the 
hex codes. Unless you know you need OBC's, the EFC setting should 
work for most users.

SURR = Select (P8/740 remotes ONLY)
MENU = Enter (Topline remote ONLY):
------------------------------------
This field is visible ONLY when a P8/740-based remote is 
selected. It offers a Yes/No selection to enable the SURR button 
as a Select button on P8/740's, or the MENU button as Enter on 
the Topline.

Protocol Name:
--------------
Use the in-cell drop-down to select the desired protocol to be 
used by the upgrade. If a protocol has been recognized, it's 
probably available in KM (the vast majority of devices use only a 
handful of protocols).

There are two "special" protocols included in KM:

"Manual Settings" is used when KM doesn't directly support the 
protocol you're working with.

"Device Combiner" allows you to combine multiple devices (up to 
16) into one Device Upgrade.

For details on using either of these protocols, see the "keymap-
master-protocols.txt" file.

Device Codes/Parameters:
------------------------
Protocols generally require 1 to 4 device codes (some don't 
require any). These are the codes sent at the start of every IR 
(infrared) data stream, sort of like a "header". KM will provide 
hints as to what needs to be entered for a given protocol (to the 
right of Protocol Name).

In some instances, you may need or want to enter the Device Codes 
directly as hex. This can be done by using the standard JP1 hex 
notation of "$XX". Just precede the 2-digit hex code with a "$". 
Optionally, you can also use "XXh" notation (follow the 2-digit 
hex code with an "h").

At this point, you're ready to enter the [Functions], [Buttons], 
and [Key Moves] data (as explained in their respective sections 
below), but please keep reading.

Upgrade Description:
--------------------
To the right of the Remote selection is a large cell that 
initially reads "keymap-master Device Upgrade". You should use 
this cell to enter a brief descriptive name for your upgrade. 
Something as simple as "My Cable Box" will work, but since we 
encourage sharing upgrades with the group, a more descriptive 
entry like "General Instruments Digital Cable CBL/0476" is best. 
To enter your own description, just select the cell and start 
typing.

The Upgrade Description will be used as the default proposed 
filename when the Device Upgrade is saved using the [Save...] 
button on the [Setup] sheet.

NOTE: Due to a quirk in Excel, anytime a comma (,) or semi-colon 
(;) is used in an Upgrade Description, KM will replace it in the 
saved file with a space ( ).

Device Upgrade Code block:
--------------------------
The large block centered on the [Setup] sheet doesn't allow any 
data entry, and for good reason. That's where the calculated 
Device Upgrade Code is displayed. Once you've entered all the 
necessary information on the [Setup], [Functions], and [Buttons] 
sheets ([Functions] and [Buttons] are described below), this will 
be the code that you copy and paste into IR's [Devices] tab.

The Key Move feature of KM can combine Key Move code as part of 
the Device Upgrade Code. This occurs when buttons that are not 
part of the selected device's "key map" are assigned functions on 
the [Buttons] sheet (see "Using the [Buttons] worksheet" below).

To copy the Device Upgrade Code to the Windows clipboard for 
pasting into the IR [Devices] tab, press the [Copy] button or use 
the keyboard shortcut of "Alt-D".

DISABLE Combined Key Move Code check box:
-----------------------------------------
You can temporarily exclude Key Moves (created on the [Buttons] 
sheet) from the combined Device Upgrade/Key Move code by using 
the "DISABLE Combined Key Move Code" check box directly below the 
Device Upgrade Code block. This will allow only the Device 
Upgrade Code to be displayed and selected for copying. This has 
no effect on the Key Move Code block (for Key Moves created on 
the [Key Moves] sheet).

There are also check boxes for this setting on the [Buttons] 
(cell G2), and [Key Moves] (cell I1) sheets so that you can 
quickly ENABLE or DISABLE and see how it affects the current 
mapping.

Protocol Code block:
--------------------
Just below the Device Upgrade Code block is the Protocol Code 
block. Again, no data entry is allowed here. As KM works its 
magic, if it determines that the selected remote also requires a 
protocol upgrade, it will display the necessary code here. In 
that case, you will see a highlighted prompt that says

"*** The Protocol Code below is REQUIRED for this Upgrade ***"

This is a reminder to copy and paste this code into IR's 
[Protocols] tab. If you create a Device Upgrade that requires 
Protocol Code as well, and don't add it into IR, your upgrade 
most likely won't work.

To copy the Protocol Code to the Windows clipboard for pasting 
into the IR [Protocols] tab, press the [Copy] button or use the 
keyboard shortcut of "Alt-P".

Key Move Code block:
--------------------
To the right of the Protocol Code block is the Key Move Code 
block. This will contain the hex code for any key moves defined 
on the [Key Moves] sheet (see the [Key Moves] worksheet section 
below). This code gets pasted into the [Key Moves] tab in IR, 
using the [Import] button.

To copy the Key Move Code to the Windows clipboard for pasting 
into the IR [Key Moves] tab, press the [Copy] button or use the 
keyboard shortcut of "Alt-K".

Notes:
------
You can use this area to more accurately describe what your 
upgrade is, what it does, how it does it, etc. Again, this is 
useful as we share these files with others. Want to leave it 
blank? Go ahead, that's ok, too.

The Notes section is comprised of several individual cells 
formatted with Excel's "Shrink to Fit" format. They will NOT 
word-wrap. You can paste multi-row content, but pasting multi-
column (tabbed) text will most likely cause an error (or at a 
minimum cause problems with the [Setup] sheet formatting).

NOTE: Due to a quirk in Excel, anytime a comma (,) or semi-colon 
(;) is used in a Notes entry, KM will replace it in the saved 
file with a space ( ).

Command Buttons:
----------------
There are several command buttons on the [Setup] sheet that offer 
a variety of features.

[NEW]
-----
Restores ALL data back to the default settings so that a NEW 
Device Upgrade can be created.

[LOAD...]
---------
Opens a previously saved Device Upgrade text (.txt) file.

[SAVE...]
---------
Saves the current Device Upgrade as a standard text (.txt) file.

[ ] km
------
Saves the current Device Upgrade as a KM (.km) format file. 

NOTE: The KM file format is ONLY supported by the KM application 
and is NOT compatible with the Excel version of keymap-master.

For a new, unsaved file, the SAVE Upgrade dialog box will use the 
Upgrade Description as the proposed default file name. Invalid 
Windows filename characters (/\:*?<>|") will be replaced with a 
dash ("-"), and spaces with an underscore ("_"). For a file 
opened with the [LOAD...] button, the current filename will be 
used. In either case, you may rename the file to anything you 
desire.

NOTE: Windows imposes a limit of 218 characters for the TOTAL 
length of a filename, including the path spec (for specific 
details, see the Windows or Excel help files). If KM detects that 
you have exceeded this limit, it will warn you and allow you to 
re-enter another filename.

[UNDO]
------
Restores ALL data back to the point of the last NEW, LOAD or SAVE 
operation.

[Goto IR]
---------
Runs or switches to the IR application, and supports the AutoRun 
IR feature (see below).

NOTE: This uses a registry setting created by IR (3.11+) itself. 
If the setting doesn't exist (because IR hasn't been run yet, or 
it's an older version), KM will prompt you to locate the IR.EXE 
file manually. You can also select the AutoRun settings at this 
time (see the AutoRun IR section below).

[Copy]
------
The buttons (they have an icon that looks like two pieces of 
paper) in the Device Upgrade, Protocol, and Key Move Code blocks 
can be used to quickly select and copy the corresponding code 
block to the Windows clipboard for manually pasting into IR. The 
[Copy] buttons support the AutoRun IR feature (see below).

A [Copy] button will only work when code is displayed in its 
corresponding code block. Excel indicates the "copied" code with 
a flashing marquee border. A second press of the same [Copy] 
button, or pressing any other [Copy] button, will cancel the copy 
and remove the marquee.

In addition to using the mouse, the [Copy] buttons can also be 
selected with the following keyboard shortcuts:

Device Upgrade Code: Alt+D
Protocol Code......: Alt+P
Key Move Code......: Alt+K

NOTE: copied code will NOT automatically be pasted into IR. You 
MUST manually select the tab, and then use the appropriate IR 
buttons to open the proper edit box for pasting.

AutoRun IR:
-----------
The first time [Goto IR] or one of the [Copy] buttons is used, KM 
will check to see if the current version of IR supports the 
"AutoRun" feature (this feature was added to IR 3.11). A dialog 
box will be displayed asking if you would like to ENABLE this 
feature. If you answer "Yes", you will then be asked to select 
whether or not to be prompted each time before running IR.

When the AutoRun IR feature is ENABLED, anytime you use [Goto IR] 
or a [Copy] button to select KM code, IR will be loaded or 
activated automatically. If you also selected the PROMPT option, 
you will be asked to confirm going to IR first.

You can change the AutoRun IR settings at any time by running the 
"AutoRunIR" macro (to do so, goto Tools, Macro, Macros..., select 
the "AutoRunIR" macro, and click the [Run] button),

Time to enter some functions...




Using the [Functions] worksheet:
================================

After entering all of the details on the [Setup] sheet, you can 
now go to the [Functions] sheet. There, you will be able to enter 
your Function names, specify the EFC's or OBC's, Byte2 data, and 
a Description.

Functions:
----------
This column contains some pre-defined function names. These can 
be used as is, or you can rename them to something more 
appropriate.

EFC/OBC:
--------
This column will display "EFC" or "OBC", depending on the setting 
of the Button Codes entry on the [Setup] sheet. Here you need to 
enter the proper code (usually a 3-digit number from 0-255) for 
the corresponding function. Just remember to enter the proper 
format... i.e., if you selected EFC-style Button Codes, enter 
EFC's.

You can also directly enter hex codes in the EFC/OBC column. This 
is useful for a handful of protocols that use more than 2 bytes 
of command data (i.e. Pace (European)). To enter a single byte, 
you MUST use an "h" as a prefix or suffix (i.e. "h01" or "01h"). 
To enter multiple hex bytes, separate each 2-digit byte with a 
"space" (i.e. "00 01 02 04"). No EFC or OBC calculations will be 
performed when using direct hex entry.

Byte2:
------
If you're using a 2-byte protocol, the proper data will need to 
be entered in the Byte2 column. If you are uncertain as to what 
to enter in this column, post a help message in the JP1 group.

Description/Notes:
------------------
Here, you can enter a brief description of the corresponding 
function for more clarity (and to help others who may use the 
file).

NOTE: Due to a quirk in Excel, anytime a comma (,) or semi-colon 
(;) is used in a function label or Notes entry, KM will replace 
it in the saved file with a space ( ).

[Swap EFC/OBC] Button:
----------------------
Use this button to swap the EFC and OBC values (columns B and D). 
This is useful, for example, when you're using an upgrade file 
that was setup as OBC's and you need to enter a few EFC's.

NOTE: After function codes have been entered on the [Functions] 
sheet, changing the Button Codes setting on the [Setup] sheet 
does NOT swap the values; only the [Swap EFC/OBC] button will do 
that. Also, some protocols REQUIRE the use of either EFC's (i.e. 
Device Combiner) or OBC's (i.e. Sony Combo). The [Swap EFC/OBC] 
button will not function when this type of protocol is selected.

On to the [Buttons] sheet...




Using the [Buttons] worksheet:
==============================

The last step (in theory anyway) to building a Device Upgrade is 
to assign the defined Functions to specific Buttons. You do this 
on the [Buttons] worksheet. The Button column contains several 
"generic" and many "remote-specific" button names. Only those 
buttons that are not grayed-out are available for mapping.

NOTE: You CANNOT assign and use functions in an upgrade on any 
buttons other than those defined by the default "key map" 
designated by the remote (this is a limitation of the remotes 
themselves and not a "flaw" in KM), or those buttons that are 
able to be "key moved". This includes device buttons, "special" 
buttons, etc. If it's not on the list or is grayed-out, YOU 
CANNOT USE THAT BUTTON!

You can also define Key Moves bound to the current Device Upgrade 
for buttons that are not part of the default key map right along 
with the defined key map buttons. IR v3.10 or later will 
automatically assign these Key Moves to the same device button 
that the Device Upgrade gets assigned to.

If a button name is preceded with "@" (i.e. "@ setup"), or any 
time a Shifted Function is assigned to ANY button, KM will 
automatically create Key Move code. Only physically available or 
defined buttons are available with this feature. If you want to 
assign Key Moves to other buttons, or bind them to devices other 
than the current one, they must be done on the [Key Moves] sheet.

For each button you want to assign a function to, go to the 
Normal Function column and use the in-cell drop-down list to 
select one. Remember, button names prefixed with "@" will be 
setup as Key Moves, while the others will be part of the Device 
Upgrade.

Selecting a function in the Shifted Function column will create a 
Key Move on the shifted version of the corresponding button. All 
Shifted Functions are ALWAYS setup as Key Moves.

The column titled Functions is a list of all the defined 
functions from the [Functions] worksheet. As you assign functions 
to buttons, the corresponding entries in this list will become  
shaded to indicate that the function has been assigned. Entries 
in light colored cells have not yet been used.

NOTE: In order to use the Key Move feature of the [Buttons] 
sheet, you MUST be using IR v3.10 or later. Earlier versions of 
IR DO NOT support the combined Device Upgrade/Key Move code and 
will generate an error if you attempt to paste in combined code.

At the top of the [Buttons] sheet (cell G2) is an unlabeled check 
box. This is the "DISABLE Combined Key Move Code" setting. When 
checked (it mirrors the check box on the [Setup] sheet), any 
buttons that are NOT part of the default "key map" (Normal 
Functions assigned to any button preceded by "@" i.e. "@setup", 
and ALL Shifted Functions) and would normally create Key Moves, 
will not.

When all of your button assignments are complete, you can further 
define your upgrade by creating additional Key Moves on the [Key 
Moves] sheet.

*** Special note for remotes using a P8/740 processor:
------------------------------------------------------
There is a bug in the firmware for ALL P8/740 remotes that limits 
the TOTAL length of a Device Upgrade to 50 bytes max. KM will 
warn you if this limit is exceeded with the following message:

    "P8/740 remotes cannot handle upgrades greater than
     50 bytes.  Please remove ?? button assignments."

Unfortunately, the only known workaround for this limitation is 
to create multiple upgrades of less than 50 bytes each. When you 
see this message, you will need to delete at least as many button 
assignments as indicated in the message ("??"). To do this, 
select a cell in the Normal Function column and press the Delete 
key.




Using the [Key Moves] worksheet:
================================

This feature allows you to define Key Moves based on the 
functions defined in the current Device Upgrade. The [Key Moves] 
sheet displays all the currently defined Functions by default.

Functions that appear in gray italic have been assigned to a 
button on the [Buttons] sheet (either as part of the key map or 
as a Key Move). Functions that appear in red have not yet been 
assigned to any button.

A Function can be used multiple times by selecting it in the in-
cell drop-downs of the Function column. You can modify the 
Function column by adding to and deleting from the default list. 
This is how you would assign multiple Key Moves for the same 
Function (i.e. you have a function that you want to make 
available in all device modes).

NOTE: In order to use the code generated by the [Key Moves] sheet 
in IR, you MUST be running IR v3.10 or later. Prior versions DO 
NOT support importing Key Move code.

For each Function that you want to create a Key Move for, specify 
the following:

Bound Device:
-------------
This is the Device button that the Key Move will be assigned to. 
Select the appropriate Bound Device from the in-cell drop-down 
list.

To assign the Key Move to the SAME device button as the Device 
Upgrade, select "(upgrade)" from the list. When the code gets 
pasted into IR, it will automatically assign the Key Move to the 
same Device Button as the upgrade.

Bound Key:
----------
This is the button on the remote that the Key Move is assigned 
to. Almost any button (including Shifted, Phantoms, etc) can be 
assigned Key Moves. Select the desired key from the in-cell drop-
down.

A Bound Key name preceded by "$-" indicates that the button is 
"shifted" (either because the button has been pre-defined as 
being "shifted", or the Shift setting = "Yes").

NOTE: A hex button code may be directly entered in the Bound Key 
cell by using the standard JP1 hex notation of "$XX". Simply 
preceded the 2-digit hex code with a dollar sign ($). This is 
useful for assigning additional phantoms, extender buttons, etc, 
which are not currently defined by KM.

Shifted:
---------
Select "Yes" if you want the Key Move to be on a shifted button. 
If a button is pre-defined as being "shifted", selecting "Yes" 
will have no effect (there will be a "$-" preceding the button 
name).

Max Key Move Bytes:
-------------------
Available Key Move space varies from remote to remote. Out of the 
box, most JP1 remotes can hold approximately 40 to 45 Key Moves. 
Extended remotes usually allow substantially more.

Since it is not easily possible for KM to know the actual amount 
of Key Move space available for the selected remote when using 
extenders, etc, nor can it tell what might already be included in 
your current IR configuration, Key Move code length is defaulted 
to the known length of the Key Move space designated by the 
standard RDF for the selected remote. If you know that your 
remote can accommodate more than the specified Key Move bytes, 
simply enter a larger number in the "Max Key Moves Bytes" cell on 
the Key Moves sheet.

NOTE: Just because you can specify a larger Max Key Move Bytes 
and create Key Moves to that limit, it doesn't mean that IR (or 
your remote) will accept them. If the generated Key Move Code 
exceeds the amount defined by the RDF, IR will display an error 
indicating that you have exceeded the Key Move limit. It will NOT 
accept ANY of the imported Key Moves until enough have been 
deleted to fit in the available space.

At the top of the [Key Moves] sheet (cell I1) is an unlabeled 
check box. This is the "DISABLE Combined Key Move Code" setting. 
When checked (it mirrors the check box on the [Setup] sheet), any 
buttons that are NOT part of the default "key map" (Normal 
Functions assigned to any button preceded by "@" i.e. "@setup", 
and ALL Shifted Functions) and would normally create Key Moves, 
will not.

The "DISABLE Combined Key Move Code" setting only affects the 
[Key Moves] sheet IF the "Max Key Moves Bytes" limit is exceeded 
by Key Moves created on the [Buttons] sheet.

Once all your Key Moves have been entered, the Key Move Code 
block on the [Setup] sheet will contain the required code for 
pasting into IR's [Key Moves] tab using the [Import] button.




Other KM Worksheets:
====================
There are four additional KM worksheets:

The [Protocol Help] sheet provides a brief description and help 
notes for certain selected protocols. It contains the same 
information as the "keymap-master-protocols.txt" file, but only 
displays those notes specific to the selected protocol.

The [Layout] sheet shows the buttons available in each of the 
device modes for the selected remote. This is useful for seeing 
at a glance what buttons are available for mapping.

The [Protocols] sheet is a listing of all the "named" protocols 
that KM currently supports with a few details about each of them. 
You can use this to see if the protocol you need is on KM's list.

The [Key Map] sheet is designed to be printed as a hard copy 
reference for the current device upgrade. It lists all the 
buttons that are mapped along with the Normal and Shifted 
Functions assigned to each.

The [Code List] sheet is intended to help those users chasing the 
elusive "missing" codes for their devices. It provides a 
sequential list of EFC's or OBC's (000-255) so that you can 
quickly see the "gaps" of missing codes. By default, it starts 
out listing codes based on the current Button Codes setting (EFC 
or OBC) on the [Setup] sheet. However, you can toggle this by 
using the drop-down in cell A5 (it's highlighted in yellow) on 
[Code List]. Print it out and you can start filling in all those 
missing codes!

NOTE: All keymap-master worksheets are formatted for quick and 
easy printing. Each will print on either 1 or 2 pages if you wish 
to have a hard copy reference of your settings.




ToolPak Notes:
==============
Non-English versions of the Microsoft Excel Analysis ToolPak use 
different function names than some of the ones used by KM.

Currently, KM can detect several different language versions, and 
makes the necessary changes automatically, prompting you for 
confirmation. If you're using an unsupported language version of 
Excel and/or the ToolPak, you should see an error message on the 
[Setup] sheet, along with a dialog box asking you to post a 
message in the JP1 group indicating the language version, and, if 
you know them, the corresponding names for these Analysis ToolPak 
functions:

Defined       ToolPak     Function
Name in KM    Function    Description
----------    --------    -----------------
bin_to_dec    =BIN2DEC    binary to decimal
bin_to_hex    =BIN2HEX    binary to hex
dec_to_bin    =DEC2BIN    decimal to binary
dec_to_hex    =DEC2HEX    decimal to hex
hex_to_bin    =HEX2BIN    hex to binary
hex_to_dec    =HEX2DEC    hex to decimal

