On Sun, 6 Jul 2014, Pedro Lopez-Cabanillas wrote:
On Sunday 06 July 2014 09:44:57 Len Ovens wrote:
use the Xorg keyboard inputs. This means that if
I have a synth connected
to virtual kb, as soon as I try to change the synth patch, I loose my
virtual keyboard access because keyboard follows focus to the synth
application (which is what we want almost always). That is why I have to
run as a system user.
VMPK has an option (Edit->Preferences):
[x] Grab Computer Keyboard
If you enable this option, VMPK grabs keyboard events no matter which
application has the focus. It will be temporarily disabled when you minimize
VMPK's main window, and re-enabled when restoring it again. It is also
disabled when you open a dialog.
So not very global.
To do so in X11 applications you only need to invoke the XGrabKeyboard
function:
http://www.x.org/archive/X11R7.5/doc/man/man3/XGrabKeyboard.3.html
There may be problems using this function in your program while running other
gtk+ based programs at the same time, because it is used by gtk+ menus as
well.
So that makes it pretty much not usable for my use. I will have to catch
it before X does.... or set X up to look at only one keyboard. I want it
to be as solid as any HW midi controler, not half there.
By doing it early on, it is possible to only catch some of the keyboard
and not the whole thing. The numberic key pad on most keyboards is
redundant as all of the keys can be be gotten somewhere else. In that case
the numlock key can be used to switch midi mode in and out. Many Numeric
pads still have the non-numeric symbols on them that might work well for
transport control. Quite easy to only affect a second keyboard.
In fact for my own use I will be using a second keyboard (or it's board at
least). This is not quite so nice as something that looks like a standard
USB midi device, but that is what I am trying first. I am also looking at
various midi controler brains (or plans) that are available as I may go
that route for faders.
--
Len Ovens
www.ovenwerks.net