2. Generic bindings
Prev | Chapter 3. Customizing mouse and key bindings used by XXE | Next

## 2. Generic bindings

What if you want add bindings which are not XML application specific. Do you really have to include them in all configuration files?

What if you really hate some of the default bindings of XXE? Do you really have to stop using XXE?

The answer is no to both questions. Simply add your generic bindings to a file called `customize.xxe` anywhere XXE can find it. For example, create this file in the `addon/` subdirectory of your user preferences directory. XXE user preferences directory is:

- ``$HOME`/.xxe/` on Linux, Mac, and more generally, on Unix.

- ``%APPDATA%`\XMLmind\XMLeditor\` on Windows 2000, XP, Vista.

  Example: `C:\Documents and Settings\john\Application Data\XMLmind\XMLeditor\` on Windows 2000 and XP. `C:\Users\john\AppData\Roaming\XMLmind\XMLeditor\` on Windows Vista.

For more information about how XXE finds its configuration files, please read Section 1, “Dynamic discovery of add-ons”.

If several configuration files called `customize.xxe` are found, their contents are merged with a higher priority to `customize.xxe` files found in the user preferences directory.

File `customize.xxe` may also be used to specify parameterGroup, imageToolkit, spreadsheetFunctions, property, which are not XML application specific.

A very useful[6] sample `customize.xxe` may be downloaded and installed using XXE add-on manager (Options|Install Add-ons). Excerpt of this sample `customize.xxe`:

                         . . .
      <binding>
        <keyPressed code="ESCAPE" />
        <charTyped char="l" />
        <command name="convertCase" parameter="lower" />
      </binding>

      <binding>
        <keyPressed code="ESCAPE" />
        <charTyped char="u" />
        <command name="convertCase" parameter="upper" />
      </binding>

      <command name="insertCommandOutput">
        <macro>
          <sequence>
            <command name="run" />
            <command name="insertString" parameter="%_" />
          </sequence>
        </macro>
      </command>

      <binding>
        <keyPressed code="ESCAPE" />
        <charTyped char="!" />
        <command name="insertCommandOutput" />
      </binding>
                         . . .

### Important

Defining a binding in `customize.xxe` prevents XXE from using the same keystroke as a menu accelerator. For example, if you bind a command such as "`recordMacro toggle`" to Ctrl-O, then menu item File|Open will loose its customary shortcut.

[6] Yours truly cannot use XXE without it.

Prev | Up | Next
1. XML application specific bindings | Home | Chapter 4. Using HTML4 tables or CALS tables in your own custom schema