[ Home > Softwares > xvkbd > FAQ ]

xvkbd - Possible Problems and Solutions

This page describes some possible problems on xvkbd and the solutions. If you found any problem on xvkbd, please report it to VEF00200@nifty.ne.jp (Tom Sato) regardless you could solve it yourself or need some help to solve it.


Some clients doesn't accept input from xvkbd

There are two major cause of this type of problem.

Problem with Keyboard Focus

In general, for clients where you must keep the pointer in the region when entering from the keyboard, you must set the input focus explicitly via the Focus button.

Problem with XSendEvent

When XSendEvent() is used instead of XTEST extension to send keyboard events, some clients may ignore those events. From this reason, xvkbd version 1.1 and later will try to use XTEST extension instead in the default configuration, and these limits will not come in effect. See also description about -xsendevent option.

xterm (kterm)
To use with xterm or kterm, you must set xterm.allowSendEvents resource (kterm.allowSendEvents in kterm) to true, or switch Allow SendEvents to ON via Main Options menu.

XView-based clients
Normally, XView-based clients (such as DeskSet tools in OpenWindows) will not accept input from xvkbd. You may avoid this restriction by invoking those clients with -WS (or -defeateventsecurity) option, like ``cmdtool -WS''.

Other Clients
There may be other clients which will not work with xvkbd. The main cause is the client can be coded so that it will ignore events from other clients.


Client freezed when multiple characters were entered by -text, -file or function keys

Try set delay time, by a command-line option like `-delay 10' or a resource like `xvkbd.delay: 10'.


How can we change fonts?

Fonts to be used in xvkbd can be specified with resources, like:
  xvkbd*Font: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1
  xvkbd.generalFont: -*-lucidatypewriter-bold-r-*-*-12-*-*-*-*-*-iso8859-1
  xvkbd.letterFont: -*-helvetica-bold-r-*-*-12-*-*-*-*-*-iso8859-1
  xvkbd.specialFont: -*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1
  xvkbd.keypadFont: -*-helvetica-medium-r-*-*-10-*-*-*-*-*-iso8859-1
  xvkbd.banner.font: -*-lucida-bold-i-*-*-14-*-*-*-*-*-iso8859-1
See also How to Customize xvkbd to make such setting effective.

Each of the resources listed above correspond to:

xvkbd*Font:
Used everywhere when the font was not specified more specifically

xvkbd.generalFont:
Used for, for example, numeric and symbol keys on the main keyboard

xvkbd.letterFont:
Used for alphabetic letter keys on the main keyboard

xvkbd.specialFont:
Used for special keys such as Shift, Control, etc.

xvkbd.keypadFont:
Used for keys on the keypad

xvkbd.banner:
Used for "xvkbd" banner


I got message like ``Warning: Cannot convert string "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1" to type FontStruct''

Probably, the font was not available on the system. You can probaly use xlsfonts or xfontsel to find the fonts available on the system.

Installnig xorg-x11-fonts-75dpi and xorg-x11-fonts-100dpi packages, or all the xorg-x11-fonts-* packages, may solve the problem.

Instead, maybe you can specify the fonts so that xvkbd will use available fonts; see also ``How can we change fonts?'' above.


How can I disable resize of xvkbd window

In addition to -geometry, use minWidth, maxWidth, minHeight and maxHeight resources, by specifying command-line options, as:
xvkbd -geometry "400x140" -xrm "xvkbd.minWidth: 400" -xrm "xvkbd.maxWidth: 400" -xrm "xvkbd.minHeight: 140" -xrm "xvkbd.maxHeight: 140"
or by setting them in your resource file, as:
    xvkbd.windowGeometry: 400x140
    xvkbd.minWidth: 400
    xvkbd.maxWidth: 400
    xvkbd.minHeight: 140
    xvkbd.maxHeight: 140


Message ``xvkbd: couldn't add "something" to keymap'' appeared when I tried to enter non-ASCII characters

This usually means that the keysym couldn't be added to the keymap table because there are no more free space on the keymap table.

xvkbd will try to add keysym to the third or fourth position in the keymap only when there are some keys which already have keysym on those positions. If there are no keys which have four keysyms, invoking ``xmodmap -e "keysym space = space space space space"'' may solve this problem.

On XFree86, upper limit of the available keycodes may be defined in files such as /usr/X11R6/lib/X11/xkb/keycodes/xfree86 (the file can be changed depends to the configuration), as line such as ``maximum = 134''.


Compile of xvkbd on ARM processor failed with error message such as ``initializer element is not constant / near initialization for application_resources...''

On some systems, definition of XtOffset() in X11/Intrinsic.h may cause this type of problem.

Adding -D__ACK to DEFINES in Imakefile, as:

  DEFINES = $(D_XAW3D) $(D_XTEST) $(D_I18N) -D__ACK
may solve the problem.


Key is pressed when mouse hovers over a key, even if I didn't click it

It appears Automatic Click feature is activated. Sorry, I mistakenly released xvkbd Version 3.0 with Automatic Click set ON by default.

Please open Property panel from "xvkbd" main menu (press "xvkbd" logo and choose "Property...") and check "Automatic Click" setting - if it is not "OFF", please set it OFF.


by Tom Sato, 2009-09-21