[linux-audio-user] Re: New Virtual Keyboard Proposition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi! Thanks for your addings.

> I enjoy using this too. With monophonic sounds it's a bit like tapping
> on a guitar. :)

Oh, soooooo funky. Yeah babah! :)

> Is this a limitation of the keyboard scanning electronics, or a software
> thing, I wonder? I have some vague memory that it's possible to change
> the baud rate of ps/2 devices too.

That'd be interesting to look into... I checked out ZynAddSubFX's native 
virtual keyboard and it has the same issues regarding multiple keys. I 
suspect it has to do with both Zyn and vkeybd using too high a level of 
keyboard input and that this would be solved if key codes would be used 
for identification instead of character codes.

> There are many good points in your post. I would add some more...
> I think it would be interesting to try a layout that does not mimic a
> piano keyboard.

Great suggestion! We should solve this in configuration space and allow 
for efficient keyboard customizing in the settings files/preference 
dialogues. Please do create a file for your keyboard suggestion when the 
program's ready... We could call it the 'philicorda' layout. Has a great 
sound to it, doesn't it? :)

* Keyboard layouts are saved as XML files. The default layout is saved 
in configuration and can be changed by editing configuration or with a 
command-line option. (Priority 1)
* The configuration dialogue contains an option to add XML based 
keyboard layouts to database, select which is default, as well as an 
editor to create and save them. (Priority 2)

You can already create a custom keyboard layout with vkeybd BTW... just 
do this:

cp /usr/share/vkeybd/vkeybdmap SOMEWHERE_IN_YOUR_HOMEDIR/vkeybdmap
cd SOMEWHERE_IN_YOUR_HOMEDIR
chown YOU.users vkeybdmap
leafpad (or whatever editor you are using) vkeybdmap

Editing keyboard bindings should be pretty self-explanatory...

Then start vkeybd like this from now on:

vkeybd --keymap SOMEWHERE_IN_YOUR_HOMEDIR/vkeybdmap

I attached my favourite two-octave piano style keyboard layout to this 
post, you might have to switch Z and Y though. The keyboard could use 
keys all the way to the enter key but I couldn't manage all my Umlauts 
since, *sigh*, the keyboard uses character codes and not key codes.

> I had a go at doing this in pd, but got stuck converting the key codes
> into midi note numbers.

Yikes, PD! I'm sure it's a great program but using I feel like I'm in a 
physics exam without having studied... I use ZynAddSubFX/vkeybd more or 
less exclusively right now.

> I think that with the mouse it would be good if there was an option for
> the controllers to be activated on left click and reset when the button
> was released... as there is no 'null' point on a mouse, it would be hard
> to use it as a pitch bend/mod without leaving an offset when you want
> both to return to zero.

Great thinking and great solution. Let's include this.

* Pressing the left, right or both mouse buttons allows a different set 
of controllers to be modified. Moving the mouse with no keys pressed 
does nothing (for performance safety, we don't want the pitch changing 
cuz we sneezed or moved the table). Whether or not controllers snap back 
has sensible defaults but can be configured on a per-keyboard-layout 
basis. More keys from the keyboard can be used for more different 
controllers, like alt,ctrl,altgr,shift. (Priority 1)

Here's an unrelated but important point I forgot:

* Arrow keys up and down switch octaves, arrow keys left and right 
switch semi-tones. (Priority 1).

Carlo
-------------- next part --------------
global keymap
set keymap {
    {a 8}
    {y 9}
    {s 10}
    {x 11}
    {c 12}
    {f 13}
    {v 14}
    {g 15}
    {b 16}
    {n 17}
    {j 18}
    {m 19}
    {k 20}
    {comma 21}
    {l 22}
    {period 23}
    {slash 24}
    {apostrophe 25}
    {backslash 26}
    {grave 27}

    {1 20}
    {q 21}
    {2 22}
    {w 23}
    {e 24}
    {4 25}
    {r 26}
    {5 27}
    {t 28}
    {z 29}
    {7 30}
    {u 31}
    {8 32}
    {i 33}
    {9 34}
    {o 35}
}


[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux