Microsoft IntelliType Macros
IntelliType has a keyboard macro feature. It lets you define keys to type a sequence of key combinations. However, the interface is not much documented in the Help file, and for some key combination it's not possible to program it correctly using the interface.
Macro Data Are XML Files
When you create a macro, the data is stored at for example:
C:/Users/xah/Documents/Microsoft Hardware/Macros. Take a look of
that folder. (if the folder doesn't exist, then create a macro first.)
The folder contains files for macros you've created. If you have
macros for specific applications (as done thru the interface menu [Custom Key Settings] and menu [Automatic Program Settings]), a new
folder is created for that application.
Interface Mirrors XML Macro Files
For example, here's my current directory tree of that folder:
C:/Users/xah/Documents/Microsoft Hardware/Macros Alt+Tab.mhm Ctrl+Alt+Tab.mhm Emerald show hide volumn.mhm show hide wireframe.mhm
The file names show up in the IntelliType interface as the macro names under the “Available Macros” box on the left. The “Emerald” folder holds macros for when i'm in the “Emerald” application. (Emerald is a viewer for Second Life.)
Each file is a XML file. When you use the IntelliType interface to create a macro, a xml file is automatically created for you. Once you created a macro thru the interface, you can edit the xml file to fine tune it. You can also just create a new xml file and it'll show up in IntelliType. When you relaunch IntelliType, the macro interface will show macros based on files in this folder.
Macro Keycode Meaning
For example, the following is the content of my macro “show hide volumn”, which is equivalent to pressing Ctrl+Alt+Shift+9.
<?xml version="1.0" encoding="UTF-8"?><Macro> <KeyBoardEvent Down="true">29</KeyBoardEvent> <KeyBoardEvent Down="true">42</KeyBoardEvent> <KeyBoardEvent Down="true">56</KeyBoardEvent> <KeyBoardEvent Down="true">10</KeyBoardEvent> <DelayEvent>10</DelayEvent> <KeyBoardEvent Down="false">10</KeyBoardEvent> <KeyBoardEvent Down="false">42</KeyBoardEvent> <KeyBoardEvent Down="false">29</KeyBoardEvent> <KeyBoardEvent Down="false">56</KeyBoardEvent> </Macro>
Each number is a key code.
Down="true" means that key is pressed.
Down="false" means that key is released.
<DelayEvent>10</DelayEvent> means put a
delay of 10 micro seconds.
You can find out key's code by using the interface to record keys and look at your xml file. Here's some code of the keys: