How receive computer keyboard keystrokes in VST3 plugins?

My plugin wants to receive keystrokes from the computer keyboard when it has focus, such as up-arrow, down-arrow, and control-Z. That worked fine in VST2. I’m running the VST3 plugin in Cubase 11 and the keystrokes are not getting sent to the plugin: instead, they are getting processed by Cubase.

Is there something I need to do in Cubase 11 on the plugin track to cause the keystrokes to get relayed to the plugin? Or is there some VST3 interface I need to implement in the plugin software? Upgrading to VSTGUI v4.x is not an option.

1 Like

this is happening here as well in cubase 11 pro with the Arcade VST 3. Windows 10. it just started sending keystrokes to the host (cubase) after a recent arcade update(1.5). other plugins fine. just Arcade for some reason.

1 Like

Thanks for mentioning Windows … the issue I’m reporting above only happens on Windows. On Mac, Cubase 10.5 does send the keystrokes to my VST3 plugin.

How do you handle keyboard events at the moment? In VST3 there is the IPlugView interface which is used on Windows to send keyboard events to a plug-in. Maybe you’ve missed it?

We are using IPlugView. We did not implement methods ::onKeyDown() or ::onKeyUp() … but still our VST3 plugin correctly received keystrokes from Mac Cubase … but not Windows Cubase.

The Mac keystrokes arrive in our VST3 plugin via VSTGUI 3.6 function VSTGUI_NSView_performKeyEquivalent().

We’ll implement the IPlugView::OnKeyDown() methdods etc and that should fix it.


… but it is strange that we did not implement IPlugView::::onWheel() and yet the mouse wheel performs okay in our VST3 plugin on Mac & Windows.