Keyboard, Mouse and Touch news

December 10, 2013 posted by: Elias

There’s been another update to the mouse and keyboard nodes before but that turned out to still cause troubles:

  • key presses could still be missed (think: typing too fast on typewriter)
  • global keyboard didn’t work properly with all applications
  • mousewheel didn’t work globally
  • no nodes to deal with touch devices (2013! hellooo!)

Now there’ve been notable contributions to work around some of those issues, like windowstouchbeta-contribution, global-keyhookbeta-contribution and directinput-(devices)beta-contribution but those being really basic things we thought we’d give it another shot.

So here is what you get:

  • Keyboard and Mouse nodes in variants: Desktop (was: Global) and Windows
  • where Keyboard and Mouse (Desktop) are spreadable (ie. understanding multiple keyboards/mice attached. quite nerdy, what you think?)
  • a new Touch (Devices Window) node
  • all those nodes come with a Queue Modepin to distinguish Enqueue (don’t miss anything) and Discard (just take the latest) modes
  • KeyStates, MouseStates and TouchStates split-nodes (for comfortable use in subpatches)
  • KeyEvents, MouseEvents and TouchEvents split-nodes (allowing for advanced … stuff)
  • join-nodes for some of them

like so:

Device typeSource nodesSink nodes
KeyboardKeyboard (Devices Window)
Keyboard (Devices Desktop)
KeyEvents (Keyboard Join)KeyEvents (Keyboard Split)
KeyStates (Keyboard Split)
MouseMouse (Devices Window)
Mouse (Devices Desktop)
MouseEvents (Mouse Join)
MouseStates (Mouse Join)MouseEvents (Mouse Split)
MouseStates (Mouse Split)
TouchTouch (Devices)TouchEvents (Touch Split)
TouchStates (Touch Split)

For the plugin-developer:

  • Plugins that are using the (now) legacy “KeyboardState” and “MouseState” datatype don’t need to be modified - vvvv is gracefully taking care of this with an auto-wrapper.
  • The new “Device” datatype merely is a wrapper around a push based sequence of Device notifications. See KeyboardNodes.cs for an example of how to use it in your new developments.

all available now for testing with the latest alpha builds


Comments:

Comments are no longer accepted for this post.

sunep
10.12.2013 - 17:24

awesome!

I can now finally make a cool multi touch interface for my drum machine :)

u7angel
10.12.2013 - 18:31
brilliant, native touchnodes !
herbst
13.12.2013 - 05:23
I’m really looking forward to testing the multiple mice support and how far it can be driven - anyone tried what’s the max of HIDs usable this way? :) Also, native touch nodes - thanks!
pechart
13.12.2013 - 16:26
Yippie, thank you!
xd_nitro
13.12.2013 - 16:28
woop woop, that’s the sound of vvvv
gaz
10.12.2013 - 19:02
Zoom… and we’re back up to speed! Thanks devvvvs.
microdee
10.12.2013 - 19:52
multiple mice wow!
microdee
10.12.2013 - 20:02
suggestion: can we have the absolute raw data coming from the mouse? i mean currently when i set the source to “raw” it is clamped between -1 and 1 (even when i set it to “CycleIncrement” mode yeah after viewing the source code of mouse nodes that clamp in “raw” mode is completely unnecessary in my opinion. if somebody wants to clamp it between -1 and 1 let them do it in the patch.
david
11.12.2013 - 00:13
thank you bois. i will test asap
tekcor
11.12.2013 - 13:59
super amazing thank you a lot :)
manolito
11.12.2013 - 17:07
And it even supports multitouch on an 1920s typewriter. Thanks Elias (!)
iixd
12.12.2013 - 11:13
awesome updates lately !
phl
13.12.2013 - 04:18

Great, perfect timing!

(Looking forward to christmas.)

Contact


Imprint

vvvv - Dießl & Gregor GbR
Oranienstrasse 10
10997 Berlin/Germany
VAT: DE275566955

groupӘvvvv.org

Follow us

Mastodon.social
Pixelfed.social
Github
Vimeo
Youtube

Sign up for our Newsletter

Your subscription could not be saved. Please try again.
Your subscription has been successful.