» KeyboardState & MouseState
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

KeyboardState & MouseState

hola,

here is the thing: until now, when creating modules or plugins that take mouse input you'd always have to cons XY and the mousebuttons together somehow so that you'd not need 5 connections to the node. also with the keyboard it was quite messy to parse the actual keystate only given a keycode. no more. we're introducing a special datatype for those now, and we call them "MouseState" and "KeyboardState".

so now, when creating a module that takes mouse or keyboard input use:

to use the data conveniently inside the module.

plugin writers simply use:

ISpread<MouseState> FMouseState;
ISpread<KeyboardState> FKeyboardState;

to create pins of the respective types.

and as a user you'd notice how the following have turned into modules that return an additional handy Mouse or Keyboard:

internally those modules use:

which of course you can use to simulate mouse/keyboards from any arbitrary input. and note that of course those are spreadable.

nodes that already take that input now include:

so for the developer this provides a standard interface for mouse/keyboard input and for the user it will save some clicks. win/win.

joreg, Wednesday, Jul 25th 2012 Digg | Tweet | Delicious 8 comments  
microdee 25/07/2012 - 17:04

cool! and how to create an output from plugins of the above mentioned datatype if i would like to implement it in DirectInput?

joreg 25/07/2012 - 17:09

same, just create an output of type:

 ISpread<KeyboardState> FKeyboardState;
microdee 25/07/2012 - 17:32

i meant how the structure looks like (i guess it's a structure) what are the variables i can tinker with inside this type?

joreg 25/07/2012 - 17:49

you should see its properties via codecompletion or here: pluginspecs/html/Properties_T_VVVV_Utils_IO_KeyboardState.htm

ventolinmono 25/07/2012 - 19:18

Hey this upgrade matches the new Arduino Leonardo with mouse and keyboard features. > http://arduino.cc/blog/2012/07/23/massimo-introduces-arduino-leonardo/

robotanton 25/07/2012 - 19:39

thank you!

robotanton 28/07/2012 - 14:48

Joreg, i've noticed that... KeyMatch (String) needs Key as an Input, so I plug a Keyboard (System Global) into KeyboardState (System Split) but this guy doesn't output <LEFT><RIGHT> and so on on its Key output pin. Am I missing something?

joreg 31/07/2012 - 23:58

right. please check latest alpha which includes a new KeyMatch with a Keyboard input (and some more fancyness). so you can now connect a Keyboard (System Global) directly. also you don't specify keys in angular brackets anymore, but as a simple comma-separated human-readble list, like eg:

 Left, Right, Back, Return
  • 1

anonymous user login

Shoutbox

~6d ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~8d ago

~10d ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~13d ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~13d ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~20d ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~27d ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~27d ago

~28d ago

fleg: hey there! What's the best tool for remote work? Teamviewer feels terrible. Thanks!

~1mth ago

joreg: Last call: 6-session vvvv beginner course starting November 4: https://thenodeinstitute.org/courses/ws24-5-vvvv-beginners-part-i/