Feature: command line tool, connect directly to ID keyboard device
Virtual MIDI controller for Linux, Windows and OSX
Brought to you by:
plcl
I really miss VMPK as command line tool without X window, and directly connect selected ID keyboard (from xinput list). Actually it is possible by creating additional master device (via xinput) and make focus separately for multiple VMPK windows. It isn't comfortable and stable.
Indeed, a --nogui option would be nice (eg on a rpi zero).
Could Xvfb be used as a workaround?
I guess It's not currently possible because VMPK strongly relay on input that comes from window manager. No active window means no input from the user.
Also it's hard to tell if program could read input from stdin (like "cat"), probably it's not an good idea.
I've started writting a program that directly reads keyboard events but it is on early develop stage.
A simplest way:
https://gist.github.com/pedrolcl/295fae736e1a7c6c7253b45817abec4d
VMPK is a GUI application. But it does not "strongly rely on input that comes from window managers". That is not true, because it currently accepts computer keyboard input on Windows, MacOS and Linux. Each operating system having its own computer keyboard events API. In Linux, it uses XCB, and the plan is to be extended with Wayland support in the future as well. Nothing strongly depends on the Window Managers.
On the other hand: there is currently a Network Input backend (and even a Network Output!). Somebody could be inspired by it to write a Drumstick backend producing MIDI events from the Linux input subsystem globally (independent from the current input focus). This design fits better in the current architecture, and the new backend could be used by other Drumstick-based applications as well.
Finally, I would prefer to write a new command line program from scratch better that force a non GUI mode in VMPK. There are several command line example programs in the Drumstick repository. Good luck!