using mxj Robot class : arrow keystrokes not working within live?

    Apr 10 2010 | 12:22 pm
    hello all, first post here !
    anyways.. seems only certain keyevents go through to the live environment ..
    it's funny... I can use my midi controller to freely map to the arrow keys from an m4l patch.. but in live they won't work ! ( any other program it does !)
    this is really annoying to 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 )

    • Apr 11 2010 | 10:40 am
      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.
    • Apr 11 2010 | 12:49 pm
      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 !
    • Apr 11 2010 | 4:25 pm
      Hi Folks,
      Is the mxj.Robot class for Windows? Where can I find it on the internet?
      Kind regards,
    • Apr 11 2010 | 7:58 pm
      Ah I see. Haven't used this robot stuff you speak off.
    • Apr 12 2010 | 2:09 am
      hey bjorn .. this is the max stuff..'autobot'..includes a help file
      @xanadu Robot is a Class in Java that allows emulating keystrokes and mouse action
    • Apr 12 2010 | 5:46 am
      Hey 3dot…,
      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.
    • Apr 12 2010 | 3:05 pm
      ^^.. 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 BCR->Live 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 ?
    • Apr 13 2010 | 9:52 am
      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.
    • Apr 13 2010 | 10:07 am
      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.