using mxj Robot class : arrow keystrokes not working within live?
hello all, first post here !
seems only certain keyevents go through to the live environment ..
I can use my midi controller to freely map to the arrow keys from an m4l patch..
but in live they won’t work !
(…in any other program it does !)
this is really annoying to me..as you’d imagine..
because an m4l patchs’ priority is to control ‘live’ and not external apps
makes no sense !
am I doing something wrong maybe ?
(using ‘mxj autobot’ using Java keyevent constants )
A few variables here. The device needs to be selected in order for most keystrokes to work. Just like how focus works in Max or even other plugins in Live.
Another problem may be that you have the keyboard MIDI enabled.
The safest bet is to use something that takes keys directly from keyboard, regardless of which app is in focus. The [hi] object may work for that, though it doesn’t seem to work with ASCII codes.
nah.. it has nothing to do with focus..
I got the sl ‘locked’ to the device..
the arrow keys DO WORK.. anywhere everywhere OUTSIDE live
to make this clear..
I can use ROBOT class in M4L ..
some keys (like ‘abc’ keys etc.) work withing Live..
the navigation keys for instance.. DON’T
bah… ANOTHER UNEXPLAINED /UNDOCUMENTED LIMITATION
getting tired of hitting all these dead ends !
Is the mxj.Robot class for Windows?
Where can I find it on the internet?
Ah I see. Haven’t used this robot stuff you speak off.
hey bjorn ..
this is the max stuff..’autobot’..includes a help file
Robot is a Class in Java that allows emulating keystrokes and mouse action
First off, autobot is not standard. Secondly, if it generates keystrokes, one can expect that the result of the keystrokes would be dependent of the frontmost application. So you might want to check that Live doesn’t intercept the keystroke first.
^^.. hey Emmanuel…
yes I know ‘autobot’ is not standard..
but Robot is a Java standard class…(and a very simple one at that)
and that’s exactly where the problem is..
all keys work on EVERY ‘selected’ application…
(it’s pretty absurd.. as it’s running from an m4l patch!)
my qustion really is…
how come the only exception is Live???
this bothers me because in my setup ..
I’m sending midi
BCR->Midi-ox->MidiYoke->Bomes midi trans->thorugh another Yoke->Live
only to achieve keystroke sequence emluation to access Live’s functions
a chain I would have wished to minimize to only
and that ‘theoretically’ should be possible with the power of Max within Live..
on another old workaround topic :
my desktop evolver is routed the same way using the ‘soundtower’ app in order to use it’s sysex..
but no automating in live except notes and ccs..
the m4l "solution" is to route sysex out of live using osc..
which I do in my patch..
but these approaches are clumsy and have their toll on the cpu /stability..
(routing all that midi around)
I’m not blaming .. just asking why? and how this could be solved ?
Why aren’t you using Mackie emulation? A lot of the menu functions are Mackie commands. You can navigate and there are a few more global controls.
Sounds a hell of a lot easier than doing all this keystroke stuff.
The help file at
is working for me on Windows XP. Keystrokes are send to the selected window. Is it possible to always send them to the Live window? I want to automate some functions of Live that are not in MFL. I don’t know Java well enough to program this myself.