I have decided to stop any development of HidMacros. Instead of it I invest my (very little) free time to development of new application called LuaMacros. These applications are similar, LuaMacros uses some core concepts of HidMacros. However there are some differences... And why I finished with HidMacros?

HidMacros was written in TurboDelphi which was free variant of Borland Delphi. This free version is not available any more so once I reinstall my computer, there's no way how I can continue with HidMacros. I won't spend any money to buy IDE to develop open source free product

LuaMacros is written in Lazarus and free pascal. Even 64b compiler is available

In the latest versions of HidMacros I focused mainly on scripting part. In LuaMacros scripting is 99% of functionality. You can't do anything without writing a script. I know this decision is making LuaMacros kind of special application only for advanced users. Sorry for that but I find implementing GUI really boring. I don't want to lose my time with GUI.

LuaMacros is open source from the beginning. Find sources at github: https://github.com/me2d13/luamacros. Help is appreciated, once there's someone willing to cooperate, I'll write some development documentation.

The scripting language is Lua. It's light, popular and you don't need that Microsoft COM stuff, running as admin for the first time etc. You can easily implement callbacks in Lua for key press, joystick buttons etc.

Both applications are motivated by flight simulation. Now I use only Xplane so LuaMacros has now (Apr 2015) only Xplane interface. If someone need FSX/FSUIPC interfaces, port the code from HidMacros to LuaMacros. I won't do that (until motivated by donations )

Other functions from HidMacros are not available in LuaMacros. Mouse inputs, MIDI inputs. Those were not used that often and had limitations and bugs. Buffer is not ported yet, might be in the future

Unique keyboard handling is of course ported, also game devices. As new feature you can block whole keyboard (callback for whole device) and you can define different up/down macro even for keyboard

What is new in LuaMacros is COM port support - useful for Arduino and other DIY projects. You can read (OnDataReceived callback) and write to COM port

Commands available in the script will be documented in this forum in HowTo section. Until this is done you can check sample file as reference.

LuaMacros download linkWARNING: This download is beta version. Maybe not even beta. In fact I'm looking for testers so feel free to report bugs in forum or via email.

Future plans (short term) - what I'm working on:

Xplane on dataref change handler

Device and callback unregsiter and as a result possibility to load different script from script command

Versioning - there's build number (version) in bottom status bar. Helps to identify new features

Command line parameter -r starts the script immediately. So now 2 arguments are supported
file name (without any switch) - loads the script file
-r starts the script right after LuaMacros start

Global map with configuration variables was introduced. It's named lmc and now supports 2 fields:
- version (string) - initialized with current build number
- minimizeToTray (boolean) - default false, when set to true, tray icon is displayed and application is minimized to tray