Your company here — click to reach over 10,000 unique daily visitors

vkeybd - Man Page

virtual keyboard on X


vkeybd [-options]


vkeybd is a virtual keyboard for AWE/OSS, MIDI/OSS and ALSA drivers. It's a simple fake of a MIDI keyboard on X-windows system. Enjoy a music with your mouse and computer keyboard :-)


Common Options

--device mode

Use the specified mode for output device. The argument are awe, midi or alsa, for AWE/OSS, MIDI/OSS and ALSA devices, respectively. Default is alsa.

--config file

Use the specified file as config file (see section "Keyboard").

--preset file

Use the specified file as preset list file (see section "Preset List File").

--channel num

Specify the channel to be played for normal instruments. Valid only for MIDI and ALSA devices. Default is 0.

--drum num

Specify the channel to be played for drum instruments. Valid only for MIDI and ALSA devices. Default is 9.

--octave num

Specify the number of octaves to display keys. Default is 3.

ALSA Device Option

--addr destination

Set ALSA client and port numbers to be connected. If argument begins with 's' or 'S', the port is opened as subscription port, and events are sent to all connected subscribers.  The port can be connected to other ports via aconnect(1). Otherwise, vkeybd connects directly to the specified port.  The argument must be a form like client:port or client.port, where client and port are index numbers listed in /proc/asound/seq/clients. Default is 's'.

--name string

Specify the name of client/port.  Some applications like tk707 check the client/port name whether it is a valid MIDI device port. This options makes vkeybd possible to "fake" as a real MIDI device.

OSS Sequencer Device Options

--seqdev file

Specify the device file path for sequencer access. As default /dev/sequencer is used.

--seqidx num

Specify the synth device index for AWE32/64 WaveTable. If negative value is given, the device is auto-probed. Default value is -1.

MIDI Device Option

--mididev num

Speicfy the file path of MIDI device. Default value is /dev/midi.

File Menu

Connection shows whether the vkeybd connects to the device. On OSS system, only one application is allowed to access sequencer device.  Thus, if one wants to play another program even using another device, he needs to disconnect vkeybd once.  On ALSA or OSS emulation on ALSA, you don't have to switch vkeybd off, since multiple access is allowed.

With Save Config , the current keymap and view configuration are saved on ~/.vkeybdrc config file.  This file will be read at the next invoke.

View Menu

Thie menu shows the check buttons to toggle the display of control buttons.

With Key/Velocity button, a key and a velocity scale bars are shown.  The key scale indicates the lowest note value of the visible keyboard (as default 48 = C4).  The velocity scale bar is used to change the velocity of each note-on.

With Control button, controls for the current channel and for the MIDI continous-controls are enabled.  The channel number is increased or decreased by clicking the right or left button around the shown channel number.  The bank and preset are remembered for each channel. You may choose the CC to be adjusted by pull-down menu, which indicates ModWheel as default.  Then change the parameter value with  the scale bar at the right side.

With Pitch button, you may adjust pitch wheel.  The pitch goes back to the center position when you click the Pitch Clear button at the left.

With Program button, the selection list of playing instrument is toggled.  The shown presets are read from preset list file.


Each visible key is mapped on your computer keyboard from 'z' to '\'. To use the computer keyboard, you should turn off auto repeat on your X display via xset(1) :

% xset -r

The key assignment can be changed by editting the config file ~/.vkeybdrc. Once save the current configuration via File/Save Config menu.  The config file is the Tcl source, and you may change the list of keymap as you wish.

The keymap is a list of elements consisting on the key symbol and the corresponding note offset.  The key symbol is the X key symbol for assigned key, and note offset is the shifted note number from note key of beginning of keyboard, which is changed by Key scalebar. For example, when a pair of {a 8} is defined and the lowest MIDI key is 48, a MIDI note 56 will be turned on by pressing the key 'a'.

Preset List File

The preset list file is used to describe the list of MIDI preset names.  If the command line option is omitted, the default preset list file ~/vkeybd.list, ~/.vkeybd.list and $vkblib/vkeybd.list are searched sequentially.  The preset list will appear when Program toggle button is on, and you can select a tone to be played from the list.

The preset list file can be converted from SoundFont(tm) file via sftovkb(1) utility.  For example,

% sftovkb synthgm.sbk > vkeybd.list

See Also

sftovkb(1), X(1), xset(1), aconnect(1)


Takashi Iwai <tiwai@suse.de>


January 1, 2000