[ 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.com (Tom Sato) regardless you could solve it yourself or need some help to solve it.


xvkbd didn't displayed in window switcher

Window managers may have window switcher, which may be activaed with Alt-Tab. xvkbd is configured not to accept keyboard focus, and such windows may not displayed in window switcher.

In the case of xfwm, "Honor standard ICCCM focus hint" checkbox in Applications -> settings -> Settings Manager -> Window Manager Tweaks -> Focus may control this behavior.

Alternatively, invoking xvkbd with -xrm 'xvkbd.input: true' option (or xvkbd.input: true resource) may also change this behavior, but it will allow xvkbd to steal input focus and probably reduce its usability.


Some clients doesn't accept input from xvkbd

There are some major causes of this type of problem.

Proglem with Wayland

As far as I know, xvkbd cannot work with Wayland-based clients. Please let me know if anyone know how to solve the problem.

However, even on Xwayland display server, xvkbd will work with traditional X-based clients.

For example on Fedora 25, xvkbd didn't work with gnome-terminal but worked with xterm and rxvt.

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 (-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. Because it is not unusual applications to ignore keyboard events generated with -xsendevent, you shouldn't use -xsendevent option unless it is really required - if ``xvkbd -xsendevent ...'' didn't work, try simply remove -xsendevent. 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 probably use xlsfonts or xfontsel to find the fonts available on the system.

Installing either of

may solve the problem.

Maybe you also need to update fontpath so that the X server can find the fonts:
xset fp+ /usr/share/fonts/75dpi/; xset fp+ /usr/share/fonts/100dpi/; xset fp rehash

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, 2015-11-01