no time to play, but...

  • Here's a Java based library for outputting messages into the user's keyboard and mouse buffers. seems to work on Mac and PC.

    Max already came with methods to take input from those devices, but now it's bidirectional.

    So... What can we do with that?

    * record and play back keyboard and mouse sequences (and use our monomes to record and play back macros)

    * step-sequence those macros and wreak havoc on our file systems

    * at least three different practical jokes, off the top of my head

    * use MIDI CCs or fft analysis to trigger keyboard shortcuts repeatedly, at varying intervals. (perhaps your music controls the brush size in Photoshop)

    * map physical knobs to mouse-driven parameters (on rotate, move to base position, then click and drag in one direction or the other)

    * use TouchOSC to drive parameters in software that has no MIDI or OSC input.

    * add support for spacemouse/spacenavigator, kinect, wiimote, joysticks, arduinos, etc to software that doesn't support any of that

    * use arc as a set of jog wheels. or an etch-a-sketch. or a spirograph.


    (do try to avoid feedback loops)

  • Incidentally, if you were thinking to yourself "those ideas sound kind of reckless", I have to agree with you. Your app won't know or care what windows are selected, nor will it stop you from inadvertently selecting a different one. Imagine a precocious child has taken control of your mouse and keyboard and ask yourself what damage they can do without really understanding the operating system. Then imagine that the child is blind and deaf, and has no concept of cause or effect. That's sort of what I'm proposing we create.

    Why? Because we can. =)

  • Window focus would be nice. Maybe you can pair it with something like macroexpress and "filter" the actions so that they only happen in the desired programs.

    This is pretty rad.

  • this is a great resource. i've wanted/needed to do things like this in the past without luck. thanks!