» update to mouse & keyboard nodes
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

update to mouse & keyboard nodes

the mouse and keyboard nodes of vvvv have seen a complete rewrite in the lastest alpha version (29.4). their interface (in- and outputs) and behaviour is still the same, but under the hood they work differently:
up till now vvvv installed a so called system wide global hook on startup which rerouted mouse and keyboard messages from other processes to the vvvv process.
for reasons beyond the scope of this blog post, this caused random freezes of vvvv or even crashes of other processes. another issue was that it only worked with one vvvv instance at a time.
with the new nodes we got rid of those global hooks. in case of the window versions of the nodes we use a much safer technique called subclassing and in case of the global versions the keyboard and mouse states are retrieved at node evaluation.

hopefully this change shouldn't affect the user at all, if it does, please report in our alpha forum.

what's probably also worth mentioning is that the mouse nodes now output the state of XButton1 and XButton2.

to plugin developers:

  • if you're writing a gui-plugin (eg. a renderer) and want the window versions of the mouse and keyboard nodes to work with your plugin, implement the new interface IUserInputWindow where you return the window handle of the control which has focus. for an example have a look at the source code of our svg renderer.
  • MouseState uses the System.Windows.Forms.MouseButtons enumeration now.
Elias, Friday, Apr 5th 2013 Digg | Tweet | Delicious 3 comments  
sebl 05/04/2013 - 17:34

does this hav any effect onm working with touchscreens? (they didn't work that well with the previous nodes... e.g. no "mouse"-buttons where working)

herbst 06/04/2013 - 17:35

If no functionality is changed this probably means that mouse/keyboard input still won't work from non-vvvv fullscreen windows (--> "global" is not really "global"?)

E.g. having vvvv in the background as a "do-something-in-the-background-central".
I created a "real" global keyboard hook some time ago (for the vvvv-Unity-connection I was showing at NODE13), because built-in "Keyboard Global" didn't receive keys from fullscreen Unity.
I just uploaded it to contributions: global-keyhook

david 21/08/2013 - 17:55

indeed we have a bad click output in vvvv mouse-nodes-click-with-ir-hid-touchdevice-not-working-properly

  • 1

anonymous user login

Shoutbox

~2d ago

h99: Moon, dammit

~2d ago

h99: NASA's CGI Monn kit https://svs.gsfc.nasa.gov/4720

~2d ago

~5d ago

joreg: Two #vvvv workshops this week in #berlin: Friday: Physical Computing, Saturday: Computer Vision. Tickets: upcoming-full-day-vvvv-gamma-workshops-in-berlin

~5d ago

joreg: @cznickesz also feel free to join our chat for such questions: chat

~5d ago

cznickesz: @joreg: Yeah, I´ll give it a try! Thx

~5d ago

joreg: @cznickesz: we're hoping this week. but depends on feedback. please test your project and let us know if it works.

~5d ago

cznickesz: @joreg: I should stop asking my questions so cryptic ;-) So right away: is final Beta39 hours, days or weeks away?

~5d ago

joreg: @cznickesz: the idea of an RC is exactly to make sure your projects will work with it. your last chance to report problems with b39.

~5d ago

cznickesz: So how "RC" is the "RC3"? I have to update an old project soon and I´m wondering if I should wait and directly update to Beta39