Page 1 of 1

Announcments

Posted: 05 Apr 2015, 22:51
by admin
Why LuaMacros
And why not HidMacros?

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 link

And one screenshot. It's really that simple :-)
Image

Changelog
See posts below

Re: Announcments

Posted: 23 Apr 2015, 23:13
by admin
Version 0.1.0.11
A few small improvements were added
  • 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
  • New command lmc_minimize will minimize main window
Typical usage of new features is writing a script test.lua like

Code: Select all

print('Version: ' .. lmc.version)
lmc.minimizeToTray = true
lmc_minimize()

-- some useful commands
And starting LuaMacros with parameters

Code: Select all

LuaMacros.exe -r test.lua
This will start LuaMacros, runs the script test.lua and minimize it to tray.

Download link is still the same.

Re: Announcments

Posted: 03 May 2016, 22:24
by admin
Version 0.1.0.225 Download link is still the same.

Enjoy

Re: Announcments

Posted: 10 Jan 2017, 22:22
by admin
Version 0.1.0.313
  • Game devices extended - see how-to
  • Xplane interface - new functions - see how-to
BTW this version does not work with Xplane 11 beta 3. On my TODO list.


Download link is still the same.

Enjoy

Re: Announcments

Posted: 12 Jul 2017, 22:10
by admin
Version 0.1.1.9 Download link is still the same.

Enjoy

Re: Announcments

Posted: 14 Jul 2017, 22:14
by admin
Forum updated to the latest PhpBB version.
Please let me know if something is not working (PM or email admin@hidmacros.eu)

Re: Announcments

Posted: 02 May 2018, 08:56
by admin
Version 0.1.1.69
  • lmc_reset() to reset LuaMacros from the script. Unhook all Lua callbacks, registered keyboard and device triggers, web server callbacks, XPL variable changes etc
  • lmc.autoReload boolean property. When set to true the loaded lua file is automatically reloaded. Useful when using external editor to edit your lua file
  • lmc.statistics boolean property. When setting to true new info window is opened with some internal info - statistics about code executed, XPL interface and others
  • lmc_get_devices - similar as lmc_print_devices but returns lua table that can be managed by script. See this comment for details
  • command line parameter -k that disables keyboard hook. It means you can still have macros triggerred by unique keyboard-key event but original key is not filtered. Can be used when this feature brings problems (dead keys, national characters) and luaMacos is mainly used for different purpose (game devices, XPL interface)
  • delay argument for lmc_send_keys. See pull request for details
Download link is still the same.

Enjoy

Re: Announcments

Posted: 03 Feb 2019, 23:22
by admin
Version 0.1.1.92
Timers, timers...

Code: Select all

lmc_set_timer(1000, function(ts)
  print('After one second')
end)
See wiki page for details

Download link is still the same.

Enjoy

Re: Announcments

Posted: 04 Mar 2019, 21:02
by admin
64bit experimental

I built luamacros as 64bit application. Consider this version as experimental build. You may try to use it if e.g. your original keys are not blocked. Game devices are not working in this 64bit version. Not detected and can't be used as triggers. There are technical limitations for (old) DirectInput in 64bit and I would probably need to rewrite whole part of application.

x64 download link.

Use it at own risk, new features will arrive to 32bit version only until (if ever) I get game device support in 64bit.