Thought I'd take a moment to outline some of the changes that are in the works for IM 1.6. Some I have hinted to and even shown off some parts of, others are completely new endeavors.
Some of you are already aware of the new macro "studio" and the improvements it will entail. But what I haven't had a chance to show off yet or announce is the trigger system that will go along with it. Triggers will not longer be restricted to states of buttons or simple yes no states, but you will now be able to design your own triggers and add it to the trigger list. Say you want a macro if left stick X is >50% and <80% and another if it is over 80%; well now you can. Additional things like battery level, data rate (what used to be latency) will also be added so people can program special situations if that happens, say perhaps automatically pause a game if battery or data rate gets too low!
Another area I am in the middle of improving mostly due to some old bugs and sloppy code are how the analog sticks and triggers are treated. You can currently assign dead zone, curve, and sensitivity to each stick. Well what I am working on will not only now allow separate settings for each axis on each stick, but even each throw direction for each stick if you so choose to get into that much detail. Not only will you have the option for 4 D/C/S settings for each stick, one for each cardinal direction, but you will also be able to choose from different curve types! Herra curve, Power curve, Exponential curve will all be selectable for each axis! And because visualizing what all these number will mean will be a PITA, I am bringing back the graph that demonstrates the "plot" that these numbers create. Some may remember this popular feature that I had back in IM 1.4 but when I went to WPF I was forced to abandon it due to the lack of a chart control in the new framework. Well now with a couple years of experience of WPF under my belt I have written my own.
There are also plenty of behind the scenes changes coming as well such as the eventual complete abandonment of XML in favor of JSON in all settings, profile, and macro serialized saved files. As some of you may know I have somewhat of a dude crush on Newtonsoft's JSON library and have making extensive use of it in IM 2.0 due to the fact that it can handle everything I have thrown at it and has resulted in way easier code for me. Also coming from WinForms to WPF I was completely unaware of the data binding system and as such IM does not use databinding at all. Well this is changing as well.
Something else that I am keeping in mind while I am fiddling around with all the root code is to keep the possibility open that I may add more controllers to the supported list in IM. No real plans here yet though, just trying to make it easy to make that step when and if it ever seems appropriate.