DESCRIPTION:
Sometimes, software manufacturers will change the keyboard shortcuts used to access functions in their programs. This will cause older versions of Firefly profiles to cease working or to control the application improperly.
In another scenario, the user wishes to create a Firefly control profile for a new program without having to manually modify the XML files in which the profiles are stored.
Both of the previous can be accomplished by using Firefly's included Profile Editor.
ARTICLE:
Run the ProfileEditor.exe file, which is located in the directory to which Firefly was installed (by default, "C:\Program Files\SnapStream Media\Firefly"). The following screen will appear:

Click to enlarge "Profile Editor"
Hit the 'Load" button to load an existing profile from the Firefly profiles directory, or start anew by entering the values described below. Note that there are two special, application-independent profiles in this directory:
- GLOBAL.XML defines buttons that will act in a certain set manner regardless of what application-specific profile is loaded.
- DEFAULT.XML defines what the Firefly buttons will do if Firefly has not loaded an application-specific profile.
The Button column represents the buttons on the Firefly remote.
The KeyAction field is populated with the keyboard shortcut that, in the desired program, has the effect that the user wishes to assign to the Firefly button. These values correspond to the rules set forth in this MSDN article. In the example above, "Play" is set to SHIFT P. Use the MSDN article to format all entries in these fields.
The Description field is used to help the user identify what function the Firefly button is linked to. This is also the text by which Firefly identifies the keypress in debug mode.
The Class Name, File Name, and Window Text fields are the values Firefly uses to identify an application so that it knows what control profile to automatically load.
Finding these values can be accomplished by running the AppIdentifier.exe file, also located in the directory to which Firefly was installed. When the Application Identifier has loaded, click on the window to be identified (the one for the application being configured in the Profile Editor). Hit the "Pause" button on the Application Identifier to keep the values it's gathered. Then, simply copy and paste the values from the Application Identifier to the appropriate fields in the Profile Editor.
Filling in all three of these values is not necessary to get FireFly to recognize the application. Generally speaking, the Class Name and Window Text values will be enough for most programs.
When finished customizing the controls, hit the SAVE button. Pick a descriptive filename to save the profile as (note that the extension of this file MUST be XML). Hit SAVE again, restart Firefly, and the profile is ready to use.