As you would expect for a complicated macro-enabled keyboard CM Storm have a complementary software configuration utility which they call MECH AP. In common with many other manufacturers these days CM Storm don't bundle a software CD, instead making it available from the official site under the MECH keyboard’s support tab. All CM Storm hardware which warrants it have their own AP software, however it hasn’t quite reached the stage of a unified utility; you will need the AP for each piece of CM Storm hardware you own.
We should note that the AP utility does not prompt for firmware updates or software utility updates; you will need to keep tabs on your current versions and manually update when necessary. Current software and firmware version are displayed on the bottom of the configuration window, so at least they're not buried under layers of configuration menus.
Despite the complicated nature of the MECH and its additional features it is entirely plug and play, including the built-in USB soundcard and USB 3.0 hub. Additionally the website also provides the XEar 3D software utility from C-Media for the soundcard; it’s not absolutely necessary, but does include some limited equaliser effects and virtualised 7.1 audio. The software indicates that the keyboard’s specific audio chip is a C-Media C200.
The website's keyboard support media also includes a user guide for the MECH AP utility, and the guide is surprisingly clear and concise. If you’re seeking to delve into the more complex functionality on offer it's well worth the time to become familiar with it as the software alone can be confusing at times if approached unprepared.
The MECH AP software is split into three major tabs, defining the three most significant customisation categorisations: Storm CFG, Profiles and Macro Studio
Storm CFG

It won’t come as a shock to know that the Storm CFG window is where key assignments happen. At first it will seem a little daunting, but gradually the mists depart and it becomes clear how it works. Three sub-windows at the top are empty until a key is selected, at which time they’re populated with an image of the key, the current function of the key, and a context-sensitive menu where different assignment options are available.
Defining behaviour is simple, and once defined the change is reflected by highlighting the selected key in the virtual keyboard below. The highlight colour is user-defined, and can be used to reflect the specific class of assignment: for example blue for a macro, orange for a single key etc. Before you’re able to assign a macro you will need to create it, which we’ll come to shortly.
As well as in the keyboard image, any changes are reflected in the All Key List to the right. Single Key reassignments are defined explicitly in this list, whereas macro assignments only state that, not the specific macro bound. This is also the case in the sub-windows; in fact you need to click both the key and then ‘Macro’ in the ‘Assign Function’ window to clarify exactly which macro is bound to the key. This could be a much smoother process, there’s certainly enough space in each of the sub-windows to allow it.
At the bottom of the window are a series of five profile selectors representing each of the five profiles currently in on-board memory. Key assignments are stored on a per-profile basis, and these selectors can be used to navigate the active profile. As well as a name you can choose an image to associate with the profile in either jpg or bitmap.
Changes which you make to any assignment or profile are not applied until you close the MECH AP window.
Profiles

The second of the windows, Profiles, allows the quick management of both profiles stored on-board and those held on the PC. From here you can associate the profile with a particular application, and switch them between on-board and software-based operation. Only those specifically under Keyboard RAM will appear on the Storm CFG screen, but they changes won't be uploaded to the keyboard before the application itself is closed.
Like the StormCFG Window it could do with a couple more development iterations to smooth out the functionality. An explicit Profile backup function would be useful, although it's far less of a necessity on this keyboard than those without on-board RAM. Right-clicking to edit a property rather than double-clicking would also seem like a no-brainer. However all in all it's pretty appropriate for the MECH keyboard.
Macro Studio

The final window is the Macro Studio, where as the name suggests macros are created, edited and where necessary deleted. The initial creation of a macro isn't difficult - click New and then fill in the macro name. From there you have two approaches to choose from - manual creation or the use of a live recorder.
Manual Creation allows you to create a list of keystrokes with specific simulated actuation times. Either single keys or select common windows commands can be appended to a macro by selecting the key in the popup virtual keyboard and then clicking 'insert'. Each keystroke entry has an associated upstroke and downstroke time (in milliseconds) which is then reflected in the timeline. Once finished the macro can be saved, after which it becomes available in the StormCFG window as a potential button assignment.
Live Recording through the software utility is pretty straightforward - simply click the record button, select the key delay option and then start typing. The keystroke list will be swiftly populated, after which it can then be edited by inserting new keys, editing key assignments or deleting strokes entirely.
Once complete editing a macro is a little more fiddly than one would want. The graphical representation of each keystroke displays in blocks of 50ms, but in reality the timings can be down to 1ms variances. For keys which are modified, by an Alt or Shift for example, making sure each keystroke overlaps properly is important; 50ms gridlines are therefore okay, but shaded blocks should have variable sizes representing down at least as far as the 10ms range.
Another quirk we should note that that when inserting a new keystroke its position on the list relative to other keystrokes will be updated only when you save the macro, not when you input each time point. This could be problematic if performing multiple edits. Macros can be up to 25 keystrokes in length, a restriction which is a compromise due to macros being stored in a fixed memory space on board the keyboard.
--
One further point needs to be made with regards to the keyboard software: in order to apply changes to the keyboard's on-board profiles you need to close the MECH AP window. Given how UI's have tended to be designed we were really expecting Apply and Discard buttons rather than the need to (somewhat unintuitively) close the window entirely. Perhaps this is intended to increase life-span of on-board flash storage by dissuading repeated writes, but even an 'APPLY AND CLOSE' button would make more sense. As it is, making small changes to key assignments and macros to quickly test takes more time and more focus than one would like in what should be a simple process.
Overall the software is certainly not the worst, presenting as it does slightly compromised functionality to account for on-board storage. The largest issue by far is how unintuitive it can be, especially with a need to constantly remember to close the window to apply changes. The fact that you cannot discard any changes you made to a profile in error will be the single largest issue many will have on a day-to-day basis, but it all stems from the UI really needing a few more iterations after rigorous user testing.





