Quote Originally Posted by Freddie View Post
I'm talking about HotkeyNet 2's language, not HotkeyNet 1. HotkeyNet 2 has a real language. Here's an overview:

http://hotkeynet.com/hkn2/ref/LanguageOverview.html

One of the main reasons why I wrote a language from scratch instead of, e.g., adapting Lua was the following paragraph from the page I just linked:

Distributed processing is built into the language. You can put almost any statements inside a "sendto" block, and the local copy of HotkeyNet will send that code (in compiled form) to a remote copy of HotkeyNet where it will execute.
To make the language do that, every internal piece of the language had to be designed for it. The data structures that represent variables, the binding method for functions, the syntax of the language, the way strings of byte code are fed into the interpreter ... everything had to be designed for it. Maybe it would be practical for some people to retrofit that into a complicated program written by other people, but for me, it was easier to start with a clean sheet of paper.
How will this be used and what is the benefit? I am struggling to wrap my head around it. I would have thought that each instance of the software will take keyboard and mouse input, process the input and send keyboard and mouse messages onto the registered applications.

The networking aspect would simply receive keyboard and mouse input from a network connection as well as from Windows keyboard and mouse hooks. Why is it necessary to send pre-compiled scripts across the network?