JavaMacros
A GUI interface written "Around" LuaMacros
...In simpler words, it is a general way to "reprogram" keyboards in windows, using a graphic user interface rather than directly writing macro scripts, that allows to use any number of keyboards - even of the same make and model - as separate, specific devices.
Each with its tailored functions (stickers over the keys are a must).
It provides a graphic user interface with a "keystroke recorder" to automatize compiling macros, and support for activating different macros/functions depending on the active window in foreground, whether on its software, class or caption.
It also features the ability of defining multiple logical keyboard levels, similarly to how the modifiers on standard keyboards allow to have more than one logical function on each single key.