Skip to content

Keyboard input not working (KeyboardEvent.key is 0) #1

@char

Description

@char

On Windows 11, under Bitwig Studio using VST3. Built the plugin. Keyboard input didn't work.

Using a UK English keyboard layout (but it is also broken with Korean and US English key inputs).

So I investigate:

Added a little test on the ImGuiWidget's onKeyboard(..):

template <class BaseWidget>
bool ImGuiWidget<BaseWidget>::onKeyboard(const Widget::KeyboardEvent& event)
{
    if (event.press)
        d_stdout("onKeyboard %u %u %u", event.key, event.mod, event.keycode);
    // et cetera ...

typing 'abcdefg' gives the following in engine.log:

onKeyboard 0 0 65
onKeyboard 0 0 66
onKeyboard 0 0 67
onKeyboard 0 0 68
onKeyboard 0 0 69
onKeyboard 0 0 70
onKeyboard 0 0 71

Looks like maybe a pugl issue? I'm really not sure. The keycode is correctly reported at least, so I can assume US keyboard layout for now and just assign event.key based on the keycode & modifiers.

Here's the bitwig engine.log for '1234567890' which is really weird:

onKeyboard 57353 0 49
onKeyboard 57354 0 50
onKeyboard 57355 0 51
onKeyboard 57413 0 52
onKeyboard 57414 0 53
onKeyboard 57425 0 54
onKeyboard 57427 0 55
onKeyboard 57429 0 56
onKeyboard 61 0 57
onKeyboard 57352 0 48

the reported event.key values are in the Unicode private use area range? '1' becomes U+E009. And '9' becomes U+003D ("=" It even types an equals sign in the text field!!)

An equals sign typed into the 'About' text field

Any insight would be appreciated, but for now I'm just going to fill in event.key based on event.keycode :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions