[ 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
- xorg-x11-fonts-75dpi and xorg-x11-fonts-100dpi packages, or
- xorg-x11-fonts-ISO8859-1-75dpi and xorg-x11-fonts-ISO8859-1-100dpi packages, or
- all the xorg-x11-fonts-* packages, or
- xorg-fonts-75dpi and xorg-fonts-100dpi packages
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