I don’t know your whole hardware and software configuration so let me try to explain the steps…
There are hardware buttons and encoders that can control the Zynthian. Some of this is hardcoded, e.g. switches 0-3 represent V1-4 encoder push switch and encoder 0-3 represent V1-5 rotary encoders. There are then additional buttons that can be configured. On V4.1 there are S1-4 that are represented by switches 4-7. On V5 there is the 4x5 grid of buttons that are represented by switches 4-23. (Note that in webconf, hardware configuration, these are called switches 1-20 which is a bit confusing.) The 4 encoder switches on the V5 are represented by switches 24-27 (21-24 in webconf). The configuration for what each of these buttons does under various conditions is made in webconf HARDWARE->Wiring (Advanced view enabled). Each button can be configured to perform various actions based on the switch action and the its sub actions (which are contextual based on the main action). You should check how these switches are configured and identify which switch you want to emulate with your USB keypad, e.g. the default V5 configuration has switch 4 (switch 1 in webconf) acting as the Menu button with this behaviour:
- Short press - Menu
- Bold press - Screen admin
- Long press - Power off
With this information you can then go to the key binding admin view (INTERFACE->UI Key Binding). In here you configure which USB/VNC (QWERTY) keys trigger what actions. To get NumPad 7 to act like the Menu button we would bind Numpad7
to ZYNSWITCH 4
. (Remember to save any changes made on these webconf pages. The binding should take immediate effect after saving.)
I wrote (refactored?) the key binding webconf page and it works really well with fast response. The other binding pages (wiring, MIDI, etc.) would benefit from a similar refactor and I would like us to combine these to be more integrated, e.g. tabbed panel, but for now you have to go to three different places to do the binding of computer keyboard, hardware siwtches and MIDI.
I hope that this logical explaination of the configuration will help you get further. In summary I am suggesting:
- Bind hardware switch to Zynthian action
- Bind USB/VNC key to hardware switch
So that a USB/VNC key emulates a physical hardware switch. What I haven’t considered is whether this workflow works without any hardware switches configured. (I have a unit with this config so can test… when the replacement for its faulty touchscreen arives!)