Error without HID keyboard (since beta32 + 32.1)

Having problems with a touchscreen installation that should run without a physical usb keyboard attached to a Windows 8.1 PC. I am getting the following TTY error messages when starting up the patch and the keyboard is disconnected:


00:00:33 ERR : Exception occured in TMPluginWrapperNode.Evaluate
00:00:33 ERR : System.DivideByZeroException: Attempted to divide by zero.
at VVVV.Utils.VMath.VMath.Zmod(Int32 z, Int32 d)
at VVVV.PluginInterfaces.V2.Spread`1.get_Item(Int32 index)
at VVVV.Nodes.ShellExecute.Evaluate(Int32 SpreadMax)
at VVVV.Hosting.IO.PluginContainer.Evaluate(Int32 spreadMax)
00:00:33 - : Hid (Human Interface Devices) DeviceController - OnDeviceChange
00:00:33 - : Hid (Human Interface Devices) DeviceController - OnDeviceChange
00:00:34 - : enumerating game devices
00:00:40 - : enumerating game devices
00:00:40 - : Hid (Human Interface Devices) DeviceController - OnDeviceChange
00:00:40 - : Hid (Human Interface Devices) DeviceController - OnDeviceChange

The patch runs fine with alpha31.9 when the keyboard is disconnected.

Interesting - to narrow this down further please do the following:

  • Get the exact build number of the alpha31.9 which still works for you. To do that right click the vvvv.exe, go to Details and look at the third value of the file version (31.9.*.0). Should be a value around 200.
  • Go to<default>, the second column shows the build number. Scroll to the one you’re using and starting from there download newer versions up to build #266 (~= beta32) from the 4th column until it breaks.
  • After that post the last working build number and the one which broke things for you. Hopefully one of the changes made in between those builds will tell us more about your issue.

So we have a winner: #232 (alpha 31.10) is the last working version. From #233 on i get a black renderer and the above error message when they keyboard is not plugged in or unplugged when the patch is running.

Ok makes sense somehow. A Keyboard (Devices Desktop) node was added to the Camera (Transform Softimage) module. I imagine the Keyboard node inside of the camera module outputs NIL in case there’s no keyboard available on the system, which in turn leads to the issues you’re experiencing, correct?

I wouldn’t consider getting NIL from the keyboard node as a desired behavior, so we’ll address that. In the meantime you’ll have to modify the camera module by adding three AvoidNIL nodes to the outputs of the KeyMatch node.

That should work. Thanks Elias for looking into it.