1xvkbd(1)                    General Commands Manual                   xvkbd(1)
2
3
4

NAME

6       xvkbd - virtual keyboard for X window system
7
8

DESCRIPTION

10       xvkbd  is  a  virtual  (graphical) keyboard program for X Window System
11       which provides a facility to enter characters onto other clients (soft‐
12       ware)  by  clicking on a keyboard displayed on the screen.  This may be
13       used for systems without a hardware keyboard such as kiosk terminals or
14       handheld  devices.  This program also has a facility to send characters
15       specified as the command line option to another client.
16
17       The standard keyboard layout is based on the traditional US layout, but
18       some  other keyboard layout (see "Screenshot") are also supported.  The
19       default window size may be too large for systems with small screen, but
20       it can be configured to use smaller space (220x90 pixels, for example).
21       For details, see also "Screenshot" and "How to Customize xvkbd"  below,
22       and resouce files in the distribution.
23
24       xvkbd  version 2.1 and later support word completion, which may make it
25       easier to enter long words with xvkbd.
26
27       IMPORTANT NOTE: When invoking xvkbd from display managers such as  XDM,
28       GDM,  etc., always use xvkbd with -secure option or you will have seri‐
29       ous security risk.
30
31

Environment

33       xvkbd will work on X11R5 or X11R6.  It is tested on  redhat  Linux  and
34       Solaris, and it will work also on most UNIX-like systems.
35
36       This  program  uses  Xaw  (use  of Xaw3d is recommended) and no special
37       library is required.
38
39

Operation

41    Input Keys
42       When xvkbd is started, the image of a keyboard will be displayed on the
43       screen.   Clicking  any key on the xvkbd window will send the character
44       to the focused window as if the key had been actually  typed  with  the
45       hardware keyboard.
46
47       If  you  want  to input upper-case alphabets or other characters on the
48       upper position on the keyboard, you should click the key after  select‐
49       ing  Shift  by clicking it, or click the key with mouse button 3 (maybe
50       right button) or mouse button 4.  In the similar manner, if you want to
51       input  Controled  characters,  you  should click the key after clicking
52       Control, or click the key with mouse button 2  (maybe  middle  button).
53       Alt  and Meta can be used in the similar manner with Control, but there
54       are no shortcuts with mouse buttons.
55
56
57    ``Quick Modifiers''
58       xvkbd 2.5 and later support another way to input characters with  modi‐
59       fiers  such  as  Shift, Control, AltGr, etc., which may be useful espe‐
60       cially for machines with touch panels such as PDAs - we would  call  it
61       "Quick Modifiers".
62
63       Quick  Modifiers  can  be enabled/disabled by the ``Enable "Quick Modi‐
64       fiers?'' entry on the property panel.  If Quick Modifiers  is  enabled,
65       it  will  be  activated by pressing a key on the xvkbd window, move the
66       pointer outside of the key, and then release the mouse button or equiv‐
67       alent.
68
69       The direction of the pointer motion will select the modifier:
70
71             up        - Shift
72             right     - AltGr
73             right-up  - Shift AltGr
74             left      - Control
75             left-up   - Shift Control
76             down      - Meta
77             left-down - Alt
78
79
80
81    Setting Input Focus
82       If  you  are using a window manager and clients where you can set input
83       focus by clicking mouse button on the window (and  you  don't  have  to
84       keep  pointer in the window after that), you can simply set input focus
85       in the normal way and then click keys on the xvkbd window - the charac‐
86       ter will be sent to the selected position.
87
88       If  you  are  using a window manager or clients where you must keep the
89       pointer in the input field to input from the keyboard, or if the  input
90       focus  is  switched  to the xvkbd window when you clicked on the key on
91       the xvkbd window, you must make xvkbd to set input focus explicitly  by
92       clicking  the  Focus  button  on the xvkbd window and then click on the
93       input field.  This input focus can be cleared by clicking Focus  button
94       with mouse button 3, or simply clicking Focus button twice.
95
96
97    Word Completion
98       Choosing  ``Word  Completion...''  in the main menu will popup the Word
99       Completion panel.
100
101       When you entered characters by clicked keys  on  the  xvkbd  window  as
102       usual  while  the  Word  Completion  panel open, words started with the
103       characters will be listed in the panel, and you can enter the remaining
104       characters  of  the  selected  word by clicking one of the words in the
105       list.
106
107       The  dictionary  (list  of  words)  file  is  /usr/share/dict/words  by
108       default,  but  it  can  be  changed  by  -dict option or xvkbd.dictFile
109       resouce, or on the Property panel.
110
111
112    Main Menu
113       Pressing the ``xvkbd'' logo on the main keyboard (placed near left-bot‐
114       tom corner in the default configuration) will popup the main menu.
115
116       The menu contains following items:
117
118       About...
119           Show short description of this program.
120
121       Manual...
122           Launch manual page reader.
123
124       Keypad...
125           Open the Keypad panel.
126
127       Sun Function Keys...
128           Open the Sun Function Keys panel.
129
130       Dead Keys...
131           Open  the  Dead Keys panel which can be used to enter Latin charac‐
132           ters with accent symbol in double stroke.
133
134       Word Completion...
135           Open the Word Completion panel.
136
137       Change Keyboard Layout...
138           Open a popup window to change the keyboard layout.  In the  default
139           configuration,  Default (US), Belgian, Danish, French, German, Ice‐
140           landic,  Italian,  Japanese  (JIS-X-6002),  Japanese  (JIS-X-6004),
141           Korean,   Norwegian,   Portuguese,   Russian,   Spanish,   Swedish,
142           Swiss/German, United Kingdom and Latin-1 are available.
143
144       Edit Function Keys...
145           Open a popup window to edit string assigned to function keys.   See
146           also "Assigning Text to Function Keys".
147
148       Show Keypad?
149           Toggle show/hide of the keypad on the main window.
150
151       Show Function Keys?
152           Toggle show/hide of the function keys on the main window.
153
154       Property...
155           Popup the Property panel.
156
157       Connect to Remote Display...
158           Open  a panel to specify the name of a remote display (in the mean‐
159           ing of the X Window System)  to  connect,  so  that  following  key
160           events will be sent to windows on the remote display.
161
162       Revert to Local Display
163           Disconnect  from  the  remote  display so that following key events
164           will be sent to windows on the local display.
165
166
167    Property Panel
168       Enable "Quick Modifiers"?
169           Toggle enable/disable of the Quick Modifiers feature.
170
171       Lock Shift?
172           Toggle locking/momentary of Shift keys.
173
174       Lock AltGr?
175           Toggle locking/momentary of AltGr key.
176
177       Lock Control, Alt and Meta?
178           Toggle locking/momentary of Control, Alt and Meta keys.
179
180       Always on Top?
181           If this entry is set ON, xvkbd attempts to keep  the  xvkbd  window
182           always  on  the  top of the display (i.e. not to be hidden by other
183           windows).  This feature is experimental, and care should  be  taken
184           as this feature can cause problem in some situations.
185
186       Behave as Toolbar Window?
187           xvkbd  attempts  to  be  a toolbar window when it is used with some
188           kind of window managers such as Matchbox window manager.
189
190       Use XTEST Extension?
191           XTEST extension will be used if this entry  is  checked.   If  this
192           entry  is  set inactive, the X server does not support XTEST exten‐
193           sion.
194
195       Jump Pointer?
196           If this entry is set ON, xvkbd will temporary jump the  pointer  to
197           the  focused  window,  if XTEST extension is to be used to simulate
198           keyboard events.
199
200       Key-Click Sound
201           Set on/off and duration of key-click sound.
202
203       Automatic Click
204           Set on/off of the automatic click  feature  and  the  delay  before
205           automatic  click  is activated.  If this feature is set, xvkbd will
206           work as if left mouse button is clicked when mouse pointer is moved
207           on  a  button  and  stays  long  enough.   You may want to set Jump
208           Pointer? to OFF to avoid auto-repeating.
209
210       Completion Dictionary
211           Set the filename to be used for word completion.  This setting take
212           precedence over the `xvkbd.dictFile' resource and the -dict option.
213
214
215    Options
216       xvkbd  accept  following  command  line options, in addition to general
217       options such as `-display'.
218
219       -version
220           Display version information and exit.
221
222       -xsendevent
223           Make xvkbd to use XSendEvent() to simulate keyboard events,  as  it
224           was  in xvkbd version 1.0.  xvkbd version 1.1 and later will try to
225           use XTEST extension instead in the default configuration.   Because
226           it  is not unusual applications to ignore keyboard events generated
227           with -xsendevent, you shouldn't use -xsendevent option unless it is
228           really required.
229           If  XTEST  extension  is  not supported by the X server, xvkbd will
230           automatically switch to this mode.
231           Resource `xvkbd.xtest: false' has the same function.
232
233       -no-sync
234           Normally, xvkbd attempts to synchronize with the destinating client
235           step  by  step.   This  can cause problem when the client (or the X
236           server) responded too slow.  In such situation, maybe this -no-sync
237           can solve the problem.
238           Resource `xvkbd.noSync: true' has the same function.
239
240       -no-jump-pointer
241           Make  xvkbd  not  to  jump the pointer when sending events.  In the
242           default, xvkbd will temporary jump the pointer to the focused  win‐
243           dow,  if  input focus is set explicitly via Focus button, and XTEST
244           extension is to be used to simulate keyboard events.
245           Resource `xvkbd.jumpPointer: false' has the same function.
246
247       -no-back-pointer
248           Make xvkbd not to jump the pointer back to  the  original  position
249           after  events  has  been sent.  Maybe this can be useful when using
250           xvkbd to move the pointer position.
251           Resource `xvkbd.jumpPointerBack: false' has the same function.
252
253       -modal
254           Make labels on keys in the xvkbd window to be set independently for
255           each  of  four  shift  states, not shifted, Shift, AltGr and Shift-
256           AltGr.  This is useful when you want to make the xvkbd window  very
257           small.
258           See  also  "Customizing  Keyboard  Layout" and resouce files in the
259           distribution.
260           Resource `xvkbd.modalKeytop: true' has the same function.
261
262       -geometry  [widthxheight][+xoff+yoff]
263           Set window geometry (size and position).
264           You can use form like -geometry 400x130 to specify the window size,
265           -geometry  +100+100  to  specify  the window position from left/top
266           edge of the screen, and -geometry 400x130+100+100 to  specify  both
267           the   size  and  the  position.   You  can  specify  position  from
268           right/bottom edge of the screen by using - instead of +, but please
269           note  that you must take account of size of the window border.  (If
270           you specify `-geometry -0-0',  the  window  will  not  fit  in  the
271           screen.)
272           This  can  be set by xvkbd.windowGeometry resource (note that it is
273           not xvkbd.geometry), too.
274
275       -no-resize
276           Disable resize of the xvkbd window.
277           Resource `xvkbd.resizable: false' has the same function.
278
279       -no-repeat
280           Do not auto-repeat even if key is depressed long time.
281           If auto-repeat is enabled (this is the default), time before  start
282           auto-repeat  can  be set as `xvkbd*Repeater.initialDelay: 600', and
283           period of repeat can be set as  `xvkbd*Repeater.minimumDelay:  100'
284           (unit of there parameters are milli-seconds).
285           Resource `xvkbd.autoRepeat: false' has the same function.
286
287       -no-functionkey
288           Do not display function keys.
289           Resource `xvkbd.functionkey: false' has the same function.
290
291       -no-keypad
292           Do not display keypad.
293           Resource `xvkbd.keypad: false' has the same function.
294
295       -compact
296           Do not display function keys nor keypad.
297           Resource `xvkbd.compact: true' has the same function.
298
299       -keypad
300           Display  only  keypad.  This option will be ignored if `-no-keypad'
301           or `-compact' is specified.
302           Resource `xvkbd.keypadOnly: true' has the same function.
303
304       -text string
305           Send the string to the focused window (see also `-window' option).
306           If this option is specified, xvkbd will not  open  its  window  and
307           terminate soon after sending the string.
308           The string can contain:
309
310           - \r - Return
311
312           - \t - Tab
313
314           - \b - Backspace
315
316           - \e - Escape
317
318           - \d - Delete
319
320           - \S  -  Shift  (modify the next character; please note that modify
321             with  ``\S''  will  be  ignored  in  many  cases.   For  example,
322             ``a\Cb\ScD\CE''  will be interpreted as a, Control-b, c, Shift-D,
323             and Control-Shift-E.)
324
325           - \C - Control (modify the next character)
326
327           - \A - Alt (modify the next character)
328
329           - \M - Meta (modify the next character)
330
331           - \[keysym] - the keysym keysym (e.g., \[Left]), which will be pro‐
332             cessed in the similar matter with other general characters
333
334           - \{keysym} - the keysym keysym (e.g., \{Left}), which will be pro‐
335             cessed in more primitive matter and can also be used for modofier
336             keys  such  as  Control_L,  Meta_L,  etc.;  also,  \{+keysym} and
337             \{+keysym} will simulate press and release of  the  key,  respec‐
338             tively
339
340           - \Ddigit - delay digit * 100 ms
341
342           - \xvalue - move mouse pointer (use "+" or "-" for relative motion)
343
344           - \yvalue - move mouse pointer (use "+" or "-" for relative motion)
345
346           - \mdigit - simulate click of the specified mouse button
347
348       -file filename
349           Send  the contents of the specified file to the focused window (see
350           also `-window' option).  If ``-'' was specified  as  the  filename,
351           string to be sent will be read from the standard input (stdin).
352           If  this  option  is  specified, xvkbd will not open its window and
353           terminate soon after sending the string.
354
355       -utf16
356           When used with -file option, make xvkbd to accept UTF16  characters
357           in the file.
358
359       -delay value
360           Put  value  ms of delay for evey characters when sending characters
361           with -text or -file.  Maybe this is useful when problem arises when
362           characters are entered too fast.
363           Resource `xvkbd.textDelay: value' has the same function.
364
365       -window window
366           Specify  the  ID  (hexadecimal  value  leaded with `0x', or decimal
367           value), the name (instance name or class name) of  the  window,  or
368           the  title of the window to set input focus.  It is possible to use
369           wildcard characters `*' and `?'  to match the window  name  or  the
370           window title.
371           If  this is not specified, xvkbd will use input focus under control
372           of the window manager, unless focus  is  specified  explicitly  via
373           Focus  button.  Even if this option is specified, you can set input
374           focus to other windows using  Focus  button,  or  clear  the  input
375           focus.
376           If there are two or more windows which have the name specified with
377           this option, the window which was found first will be selected.
378
379       -widget widget-name
380           Specify the name of the widget to set the input focus.  To use this
381           feature,  the  client  must  support Editres protocol.  In general,
382           this option will be used with `-window' option.
383           If you want to set input focus to the widget foo.bar.zot,  you  can
384           write  zot, bar.zot or foo.bar.zot as widget-name.  To avoid confu‐
385           sion, the widget-name should match with  a  single  widget  of  the
386           client.
387           For example,
388
389               xvkbd -window xarchie -widget searchText -text "\Ca\Ckabc\r"
390
391           will  enter  the  string  ``abc'' to the ``Search Term'' field of a
392           xarchie window.
393
394       -remote-display display
395           Specify the display (in the meaning of the X Window System) to con‐
396           nect;
397             see also Connect to Remote Display....
398
399       -true-keypad
400           If this option is specified, xvkbd will attempt to use keysyms such
401           as XK_KP_1 instead of XK_1.
402           Resource `xvkbd.keypadKeysym: true' has the same function.
403
404       -dict filename
405           Specify the default dictionary (list of words) file to be used  for
406           word  completion.   The `Completion Dictionary' filename set on the
407           Property panel takes precedence over this.
408           Resource `xvkbd.dictFile: filename' has the same function.
409           See also ``Making your own completion dictionary''.
410
411       -minimizable
412           Make xvkbd window can be minimized (iconified) even  if  no  window
413           manager  is  in  use.  When this feature is enabled, small triangle
414           will be displayed at left ot the xvkbd main menu, and xvkbd  window
415           will be minimized when the triangle is clicked.
416           Resource `xvkbd.minimizable: true' has the same function.
417
418       -secure
419           Disable  invocation  of  external commands, including user assigned
420           command and the online manual reader.  Connection to  another  dis‐
421           plays would also be disabled.  This option may be useful when xvkbd
422           is to be run with some kind of privileges.
423           Resource `xvkbd.secure: true' has the same function.
424
425       -nonexitable
426           Disable termination of the xvkbd program.  This option may be  use‐
427           ful  when xvkbd is to be run automatically for systems with no key‐
428           boards and users should not terminate the xvkbd.
429           Resource `xvkbd.nonexitable: true' has the same function.
430
431       -xdm
432           Same as -secure -nonexitable.  When xvkbd is to be  run  for  login
433           screen, it would be suggested to use this option.
434
435       -modifiers modifiers
436           Normally,  xvkbd  will  activate  modifiers  (control, shift, etc.)
437           only while sending characters.  If modifiers  were  specified  with
438           this option, the specified modifiers will be activated while corre‐
439           sponding key on the xvkbd window is in active.   For  example,  you
440           can  specify  -modifiers  shift,control,meta,alt  to apply this for
441           those four modifiers.  Maybe this can be useful when attempting  to
442           decorate the mouse operations with the modifiers.  Please note that
443           the modifiers will also be applied when attempting to click on  the
444           xvkbd  window  and  which can prevent the correct operation in some
445           situations.
446           Resource `xvkbd.positiveModifiers: modifiers...' has the same func‐
447           tion.
448
449       -debug
450           Make  xvkbd to output debug information.  It also disables keyboard
451           width adjustment, to help adjusting key size when  making  keyboard
452           layout  file.   It  also  make  xvkbd  to accept signals SIGINT and
453           SIGQUIT, which otherwise be ignored.
454
455       -version
456           Output version information and exit.
457
458

Screenshot

460       Default (US)
461           http://t-sato.in.coocan.jp/xvkbd/xvkbd-normal.gif
462
463       Belgian
464           http://t-sato.in.coocan.jp/xvkbd/xvkbd-belgian.gif
465
466       Danish
467           http://t-sato.in.coocan.jp/xvkbd/xvkbd-danish.gif
468
469       French
470           http://t-sato.in.coocan.jp/xvkbd/xvkbd-french.gif
471           http://t-sato.in.coocan.jp/xvkbd/xvkbd-french2.gif
472
473       German
474           http://t-sato.in.coocan.jp/xvkbd/xvkbd-german.gif
475
476       Icelandic
477           http://t-sato.in.coocan.jp/xvkbd/xvkbd-icelandic.gif
478
479       Italian
480           http://t-sato.in.coocan.jp/xvkbd/xvkbd-italian.gif
481
482       Japanese (JIS-X-6002)
483           http://t-sato.in.coocan.jp/xvkbd/xvkbd-jisx6002.gif
484
485       Japanese (JIS-X-6004)
486           http://t-sato.in.coocan.jp/xvkbd/xvkbd-jisx6004.gif
487
488       Norwegian
489           http://t-sato.in.coocan.jp/xvkbd/xvkbd-norwegian.gif
490
491       Portuguese
492           http://t-sato.in.coocan.jp/xvkbd/xvkbd-portuguese.gif
493
494       Spanish
495           http://t-sato.in.coocan.jp/xvkbd/xvkbd-spanish.gif
496
497       Swedish
498           http://t-sato.in.coocan.jp/xvkbd/xvkbd-swedish.gif
499
500       Swiss/German
501           http://t-sato.in.coocan.jp/xvkbd/xvkbd-swissgerman.gif
502
503       United Kingdom
504           http://t-sato.in.coocan.jp/xvkbd/xvkbd-uk.gif
505
506       Latin-1
507           http://t-sato.in.coocan.jp/xvkbd/xvkbd-latin1.gif
508
509       Small Keyboard (maybe suitable for PDAs)
510           http://t-sato.in.coocan.jp/xvkbd/xvkbd-small.gif
511
512       Hebrew
513           http://t-sato.in.coocan.jp/xvkbd/xvkbd-hebrew.gif
514
515       Greek
516           http://t-sato.in.coocan.jp/xvkbd/xvkbd-greek.gif
517
518       Turkish
519           http://t-sato.in.coocan.jp/xvkbd/xvkbd-turkish.gif
520
521       Slovene
522           http://t-sato.in.coocan.jp/xvkbd/xvkbd-slovene.gif
523
524       Korean
525           http://t-sato.in.coocan.jp/xvkbd/xvkbd-korean.gif
526
527       Russian (Cyrillic)
528           http://t-sato.in.coocan.jp/xvkbd/xvkbd-russian.gif
529
530

Download

532       Latest Official Release
533           http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.9.tar.gz
534           - source of version 3.9 (2018-02-25)
535
536       previous release
537           http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.8.tar.gz
538           - source of version 3.8 (2017-06-06)
539           http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.7.tar.gz
540           - source of version 3.7 (2015-09-12)
541           http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.6.tar.gz
542           - source of version 3.6 (2015-02-15)
543
544       xvkbd is distributed under the terms of the GNU General Public License.
545
546

Install

548         o untar the source in a directory, and move to the directory
549
550         o If you wish to use genuine Xaw instead of Xaw3d, edit Imakefile and
551           remove (or comment-out) `#define XAW3D'.
552           When  you  are  installing xvkbd (for example) in very old systems,
553           you may also want to remove `#define XTEST' and `#define  I18N'  to
554           disable XTEST and internationalization facility respectively.
555
556         o Run xmkmf; make install install.man
557
558

Customization

560    How to Customize xvkbd
561       Some degree of customization of xvkbd is possible by setting resources.
562       Some resources are already described above, and resources to  customiz‐
563       ing keyboard layout are described below.
564
565       To set resources, you can:
566
567         o put them in your $HOME/.Xdefaults file, or
568
569         o load them via xrdb(1), or
570
571         o set the filename to the $XENVIRONMENT environment variable, or
572
573         o put them in application default directory as `XVkbd-suffix' and set
574           resource ``xvkbd.customization: -suffix'', or
575
576         o put them in application default directory as XVkbd.
577
578       Here, application default directory can be either of:
579
580         o directories specified  with  $XUSERFILESEACHPATH,  $XAPPLRESDIR  or
581           else $HOME environment variable
582
583         o system's  application default directory specified with $XFILESEACH‐
584           PATH environment variable, or else  the  directory  specified  when
585           compiling the X (e.g., /usr/lib/X11/app-defaults)
586
587       When  the  application  default  file  is  to be stored in the system's
588       application default directory, the file must contain ``#include "XVkbd-
589       common"'' near top of the file.
590
591       xvkbd is distributed with some application default files, and they will
592       be installed in the system's application default directory.
593
594
595    Making Window Small
596       Size (and position) of xvkbd window can be set  by  `xvkbd.windowGeome‐
597       try'  resource.   When  making window small, you may need to choose the
598       smaller font, too.
599
600             xvkbd.windowGeometry: 220x90
601             xvkbd.compact: true
602             xvkbd*Font: 6x12
603
604
605       You may also want to set:
606
607             xvkbd.modalKeytop: true
608
609       to display only the labels for the current shift state, instead of try‐
610       ing to always display all of them in the small keytop.
611
612       See also XVkbd-small.ad in the xvkbd distribution.
613
614
615    Removing Unwanted Keys
616       Keys  on  xvkbd window can be removed by setting their width to 1.  The
617       resource name of the keys that start with a capital letter (and of  the
618       space  key)  is  the same as the key itself, the others are of the form
619       <row>,<col> (counting from zero).
620
621       To remove Compose key and make Shift key larger, you can write:
622
623             xvkbd*Multi_key.width: 1
624             xvkbd*Shift_R.width: 75
625
626
627       To remove right Alt and Meta key, you can write:
628
629             xvkbd*Alt_R.width: 1
630             xvkbd*Meta_R.width: 1
631
632
633
634    Customizing Keyboard Layout
635       Layout of keys on the xvkbd window can  be  customized  with  following
636       resources:
637
638       xvkbd.NormalKeys
639           list  of  keys  available  when  neighter  of  Shift  and AltGr are
640           selected
641
642       xvkbd.ShiftKeys
643           list of keys available when Shift is selected
644
645       xvkbd.AltgrKeys
646           list of keys available when AltGr is selected
647
648       xvkbd.ShiftAltgrKeys
649           list of keys available when both AltGr and Shift are selected
650
651       xvkbd.KeyLabels
652           list of labels displayed on the keys
653
654       xvkbd.NormalKeyLabels
655           list of labels displayed on the keys
656             when neither of Shift and AltGr are selected.
657
658       xvkbd.ShiftKeyLabels
659           list of labels displayed on the keys
660             when Shift is selected
661
662       xvkbd.AltgrKeyLabels
663           list of labels displayed on the keys
664             when AltGr is selected
665
666       xvkbd.ShiftAltgrKeyLabels
667           list of labels displayed on the keys
668             when both AltGr and Shift are selected
669
670       Four resources  to  set  labels  on  the  keys  (xvkbd.NormalKeyLabels,
671       xvkbd.ShiftKeyLabels,  xvkbd.AltgrKeyLabels  and xvkbd.ShiftAltgrKeyLa‐
672       bels) will be used instead of  xvkbd.KeyLabels  when  xvkbd.modalKeytop
673       resoruce is set true.
674
675       In  all of those resources, each keys are separated by spaces, and rows
676       of keys are terminated with ` \n\' (note  that  `\n'  must  have  space
677       before  it).   Please  refer XVkbd-german.ad and XVkbd-latin1.ad in the
678       xvkbd distribution for more about these resources.
679
680       XVkbd-german and XVkbd-latin1 will be installed in the system's  appli‐
681       cation  default  directory, and setting the resource ``xvkbd.customiza‐
682       tion: -german'' will make xvkbd to use the German layout.  For  another
683       method  to  activate  those  settings,  please  refer "How to Customize
684       xvkbd" above.
685
686
687    Assigning Text to Function Keys
688       Text can be assigned to each function  keys  (and,  actually,  to  most
689       other  keys).  If text is assigned to the function key, clicking on the
690       key will send the assigned text instead of  the  function  key  itself.
691       When  pointer is on a key where text is assigned, the text will be dis‐
692       played near the key.
693
694       The setting will be read from a text file which contains text for  each
695       function keys as:
696
697             F1 text for F1
698             F2 text for F2
699             s:F1 text for Shift-F1
700             c:F1 text for Control-F1
701             m:F1 text for Meta-F1
702             a:F1 text for Alt-F1
703             ...
704
705
706       `s:', `c:', `m:' and `a:' before the keys name indicates four modifiers
707       (Shift, Control, Meta and Alt) respectively.
708
709       If the first character of the assigned string is `!', the  string  will
710       be  used  as command to be executed when the key is clicked.  To assign
711       string starting with `!' or `\', put `\' before the string.
712
713       The file is $HOME/.xvkbd in default, and it can be changed  by  setting
714       the filename with xvkbd.keyFile resource.
715
716       For  F1  to  F12 with or without Shift modifier, it is possible to edit
717       the assigned string on a panel popped up via "Edit Function Keys..." in
718       the main menu.
719
720

Miscellaneous Informations

722    Notes
723         o On  XFree86,  resolution  switch  with Ctrl + Alt + Keypad-Plus and
724           Ctrl + Alt + Keypad-Minus may be simulated.  However, Ctrl + Alt  +
725           Backspace will not be simulated.
726
727         o Shift  is used to decide key to be sent and it will not used to set
728           modifier bit when sending the event.  You can use  xev  command  to
729           check what is actually sent.
730
731         o If Alt or Meta is not defined as modifier, the key can't be used as
732           modifier.  You can use `xmodmap -pm' to  check  how  modifiers  are
733           defined.
734
735         o Num  Lock  (and maybe other modifiers) on the physical keyboard may
736           not work correctly when xvkbd is in use.
737
738
739    Additional Informations
740       FAQ - Possible Problems and Solutions
741           http://t-sato.in.coocan.jp/xvkbd/faq.html
742
743       Making your own completion dictionary
744           http://t-sato.in.coocan.jp/xvkbd/make-dic.html
745
746       Hints to use xvkbd -text
747           http://t-sato.in.coocan.jp/xvkbd/xvkbd-text.html
748
749       Note about how to send key events
750           http://t-sato.in.coocan.jp/xvkbd/events.html
751
752

Change Log

754       Version 0.1 (2000-05-13)
755
756           -
757
758             The first release, not announced anywhere.
759
760       Version 0.2 (2000-09-15)
761
762           - Compose key is added.  In the environments where Compose  key  is
763             supported,  some  characters  (mainly letters with accent symbol)
764             which can't be entered directly  from  keyboard  can  be  entered
765             using dedicated key combinations.
766
767           - Make  keyboard  layout  not  to  be disturbed when window size if
768             specified with -geometry option.
769
770           - Sample app-defaults file is added.
771
772       Version 0.3 (2000-10-05)
773
774           - -text option can now accept some modifiers (\S, \C, etc.) and any
775             keysyms (\[keysym]).
776
777           - In  addition to the window ID, -window option can now accept win‐
778             dow name.
779
780           - New -widget option to specify the widget to set the input focus.
781
782       Version 1.0 (2000-11-03)
783
784           - Keyboard layout can be now configured with resources.  See  "Cus‐
785             tomizing  Keyboard Layout" above, and XVkbd-german.ad in the dis‐
786             tribution.
787
788           - xvkbd can now send keys with Mode_switch (AltGr) modifier,  which
789             enables those characters in the position to be entered.
790
791           - xvkbd  now support AltGr key so that German (and some other) key‐
792             board layout can be used.  See XVkbd-german.ad in  the  distribu‐
793             tion.
794
795           - XVkbd-german  and  XVkbd-latin1 are included in the distribution,
796             which modifies keyboard layout and put some non-ASCII keys on the
797             xvkbd window.
798
799           - CapsLock key is supported now.
800
801       Version 1.1 (2000-12-23)
802
803           - xvkbd  can  now  use XTEST extension to simulate keyboard events.
804             It can still use XSendEvent(), as it was in  the  older  release.
805             (thanks, Bjoern)
806
807           - Labels  on  keys  can  now  be set independently for each of four
808             shift  states,  not  shifted,  Shift,  AltGr   and   Shift-AltGr.
809             (thanks, Jim)
810
811           - -kterm option and xvkbd.kterm resource are removed.
812
813       Version 1.2 (2001-02-18)
814
815           - Focus  button is now placed in the main keyboard, too, so that it
816             will be available also in compact mode.  If you don't need it, it
817             can be removed by setting ``xvkbd*row5.Focus.width: 1''.
818
819           - Input  focus  set  by  Focus button can now be cleard by clicking
820             Focus button twice.  Clicking Focus button with  mouse  button  3
821             will still clear the input focus, too.
822
823           - Text can now be assigned to function keys (and, actually, to most
824             other keys).
825
826           - It is now possible to assign keys modified with  Shift,  Control,
827             Alt  and  Meta  on the main keyboard, by putting `s:', `c:', `a:'
828             and `m:' before those keysym name when customizing  the  keyboard
829             layout.
830
831           - xvkbd  now  ignores SIGINT and SIGQUIT so that it will not termi‐
832             nated accidently.
833
834       Version 1.3 (2001-03-19)
835
836           - New app-defaults file for  Swiss-German  layout,  XVkbd-swissger‐
837             man.ad.  (contributed from Marcel Portner)
838
839           - xvkbd now catches MappingNotify event and reload the new mapping.
840             This allows users to use xmodmap while xvkbd is running.
841
842           - NumLock key is supported now.   (I'd  removed  Print,  ScrLk  and
843             Pause from keypad - somebody need them?)
844
845       Version 1.4 (2001-04-22)
846
847           - Auto-repeat  didn't  work when focus was set explicitly via Focus
848             button.  It is now fixed.
849
850           - When required keysym was not defined in the keymap  table,  xvkbd
851             will now add it on-the-fly.  This means that we don't have to add
852             them via xmodmap.
853
854           - Keypad panel can now be popped up from the  main  keyboard  as  a
855             separate window.
856
857           - Sun function keys is now supported.  It can be popped up from the
858             main keyboard as a separate window.
859
860           - Manual page is now available.
861
862       Version 1.5 (2001-10-08)
863
864           - Key events can now be sent to windows on a remote  display  (i.e.
865             windows  on other X servers) - use "Connect to Remote Display..."
866             in the main menu to connect to remote display.
867
868           - Shift, Control, Alt and Meta  can  now  be  locked  -  use  "Lock
869             Shift?"  and  "Lock  Control,  Alt  and Meta?"  in the main menu.
870             Those  initial  settings  can  be  set  by  xvkbd.shiftLock   and
871             xvkbd.modifiersLock resource.
872
873           - If  the  first  keysym  for  a  key is an alphabet and the second
874             keysym is NoSymbol, it is now interpreted as if the first  keysym
875             is  lowercase  alphabet and the second keysym is uppercase alpha‐
876             bet.  Keymap may be defined in this way in some systems including
877             Solaris,  and  older  xvkbd may not work correctly in such situa‐
878             tion.
879
880       Version 1.6 (2001-11-10)
881
882           - New `-file' option to send  characters  in  the  specified  file.
883             (thanks, Gregory)
884
885           - New  entry  `Use  XTEST  Extension?'  is  added to the main menu,
886             mainly to indicate the availability of the XTEST extension.
887
888           - xvkbd would crash when the window explicitly  focused  via  Focus
889             button becomes was destroyed.  This problem is now fixed.
890
891       Version 2.0 (2001-12-09)
892
893           - Keyboard  layout  (default,  German,  French,  etc.)  can  now be
894             changed after xvkbd is invoked.
895
896           - Show/hide of the keypad and funcion keys on the main  window  can
897             now be toggled from the main menu.
898
899           - New  app-defaults file for French layout, XVkbd-french.ad.  (con‐
900             tributed from Jean-Pierre Demailly)
901
902       Version 2.1 (2002-01-27)
903
904           - When   height   of   the   xvkbd   window   is    smaller    than
905             XVkbd.modalThreshold,  xvkbd  will  now  automatically switch the
906             keytop as if -modal option was specified.
907
908           - \[keysym] in -text option would send wrong keys - this problem is
909             now fixed.
910
911           - Target  distclean in the Imakefile is renamed to avoid the possi‐
912             ble confusion on some systems.
913
914           - Word completion is now supported.
915
916       Version 2.2 (2002-03-17)
917
918           - String assigned to function keys can now be  edited  on  a  panel
919             popped up via "Edit Function Keys..." in the main menu.
920
921           - When  ``-''  was  specified  as  the filename parameter for -file
922             option, xvkbd will now read its standard input (stdin) to get the
923             string to be sent.
924
925           - In the previous release, less-portable setenv() function was used
926             instead of putenv() function, may cause compilation error on some
927             systems including Solaris.
928
929       Version 2.3 (2002-04-05)
930
931           - New  "Dead  Keys"  panel added.  Which can be used to enter Latin
932             characters with accent symbol in double stroke.
933
934           - More localized keyboard layout: Belgian, Danish, French,  German,
935             Icelandic, Italian, Japanese (JIS-X-6004), Norwegian, Portuguese,
936             Spanish, Swedish, Swiss/German, United Kingdom and Latin-1.
937
938           - -keypad option would crash previous version of xvkbd - this prob‐
939             lem is now fixed.
940
941       Version 2.4 (2002-10-02)
942
943           - Command  can now be assigned to function keys so that clicking on
944             the function key will execute the command instead of sending  the
945             string to clients.
946
947           - Assigned  string  for  F1  to  F12 with Shift modifier can now be
948             edited on a panel popped up via "Edit Function  Keys..."  in  the
949             main menu.
950
951       Version 2.5 (2002-10-12)
952
953           - Quick Modifier feature added - now, it is possible to enter char‐
954             acters with modifiers  by  pressing  a  key  and  then  move  the
955             pointer.  (suggested by Niklas Rokaeus)
956
957           - ``Lock AltGr?'' entry is added in the main menu.
958
959           - Status  of  ``Lock  Shift?'', ``Lock AltGr'', ``Lock Control, Alt
960             and Meta?'' will be recorded in $HOME/.xvkbd file and it will  be
961             read when xvkbd is invoked next time.
962
963       Version 2.5a (2003-06-25)
964
965           - ``Fitaly'' layout is now supported - may be useful for PDAs.
966
967       Version 2.6 (2004-05-04)
968
969           - Code  to  adding keysyms which were not found in the keymap table
970             is revised.  xvkbd now avoid to add keysyms in the shifted  posi‐
971             tion  of  keys  which  already  have a keysym defined in the non-
972             shifted position, and entries in the keymap table which is  modi‐
973             fied  keys  will  be  redefined rather than redefining the entire
974             keymap table.  This change is to avoid  possible  problem  (AltGr
975             key  could be effectively disabled) which may caused in some sys‐
976             tems where XGetKeyboardMapping() can produce incorrect  map  when
977             keys have more then two keysyms.
978
979           - If   Mode_switch  is  not  defined  in  the  modifier  table  but
980             ISO_Level3_Shift is defined, xvkbd now attempt to add Mode_switch
981             as the same modifier with ISO_Level3_Shift.
982
983           - Korean  layout is now supported.  Although Hangul characters will
984             be displayed on the keys, xvkbd  will  simply  generate  alphabet
985             characters  when  those  keys  are clicked.  It is intented to be
986             used with "ami" or similar Hangul input program.
987
988           - URL  of  the  xvkbd  main  page  is  now  changes  to   http://t-
989             sato.in.coocan.jp/xvkbd/.
990
991       Version 2.7 (2005-05-05)
992
993           - Yet  another  Japanese  keyboard  layout, JIS X 6002, is now sup‐
994             ported.
995
996           - It is now possible to minimize (iconify) the main window even  if
997             no  window  manager  is in use.  This feature can be activated by
998             -minimizable option or xvkbd.minimizable resource.
999
1000           - Experimental code to keep the xvkbd window always on the  top  of
1001             the  display.   This  feature  can be activated by -always-on-top
1002             option, xvkbd.alwaysOnTop resource or the "Always on Top?"  entry
1003             in the main menu.  Care should be taken as this feature can cause
1004             problem in some situations.
1005
1006           - -text option now support combinations of modifiers and a  special
1007             key.   For  example,  -text '\C\A\d' can be used for Control-Alt-
1008             Delete key combination.
1009
1010           - New options: -secure option (xvkbd.secure  resource)  which  dis‐
1011             ables   invocation  of  external  commands,  -nonexitable  option
1012             (xvkbd.nonexitable resource) which inhibits  termination  of  the
1013             program,  and  -xdm option which is equivalent to -secure -nonex‐
1014             itable and maybe useful when run xvkbd from a display manager.
1015
1016       Version 2.7a (2005-05-07)
1017
1018           - Fixed a problem that xvkbd  could  cause  segmentation  fault  on
1019             startup.
1020
1021       Version 2.8 (2006-09-10)
1022
1023           - ISO_Level3_Shift  is  now to be prefered over Mode_switch so that
1024             AltGr can be used on relatively new systems  where  we  must  use
1025             ISO_Level3_Shift instead of Mode_switch.
1026
1027           - Reference    to    the    target    bitmap    is   changed   from
1028             /usr/X11R6/include/X11/bitmaps/target  to   /usr/include/X11/bit‐
1029             maps/target.
1030
1031           - New options: -no-back-pointer, -no-sync, -modifiers.
1032
1033       Version 2.9 (2008-03-30)
1034
1035           - Russian (Cyrillic) keyboard layout supported. (thanks, Victor)
1036
1037           - New -delay option.
1038
1039           - \D  special  sequence in -text can be used to put a delay in spe‐
1040             cific position.
1041
1042           - -text can now simulate mouse operation via \x, \y and \m  special
1043             sequences.
1044
1045       Version 3.0 (2008-05-05)
1046
1047           - New Property panel.
1048
1049           - New automatic click feature.
1050
1051           - Key-click sounds when key is pressed.
1052
1053       Version 3.1 (2010-01-17)
1054
1055           - Changed the default setting for automatic click to OFF, which was
1056             set ON in the previous release in error and caused confusion.
1057
1058           - The keypad is now customizable, too (see XVkbd-strip.ad  for  the
1059             example).
1060
1061           - Up  to 25x25 keys can now be supported both for the main keyboard
1062             and the keypad.
1063
1064           - Able  to  open  the  keypad  panel  when  startup,   by   setting
1065             `xvkbd.keypad: false' and `xvkbd.keypadOnly: true'.
1066
1067           - Fixed errors in some keyboard layout files (Korean, Slovene, UK).
1068
1069           - A new sample layout file XVkbd-strip.ad.
1070
1071       Version 3.2 (2010-03-14)
1072
1073           - New  option  `Behave  as  Toolbar Window?' on the Property panel,
1074             which may make xvkbd works better with some kind of  window  man‐
1075             agers such as Matchbox window manager. (Thanks, Patrick)
1076
1077           - `Always  on  Top'  will  work  rather better with window managers
1078             which support extended window manager hint _NET_WM_STATE_ABOVE.
1079
1080           - -window option can now find window which have  title  match  with
1081             the specified string.
1082
1083           - -window option now accept wildcard characters `*' and `?'.
1084
1085           - Word  completion  dictionary  file  to be used with `Word Comple‐
1086             tion...'  can now be specified on the Property panel.
1087
1088           - Only the words which have two or more characters will be appeared
1089             in the word completion list.
1090
1091           - New -version option to display version information.
1092
1093       Version 3.3 (2012-03-03)
1094
1095           - -text  can  now accept \{keysym} so that the specified key can be
1096             processed in more primitive manner, and  so  that  modofier  keys
1097             such  as  Control_L,  Meta_L, etc.  can also be simulated.  Also,
1098             \{+keysym} and \{-keysym} will now simulate press and release  of
1099             the key, respectively.
1100
1101           - New option -remote-display to make xvkbd connect to the specified
1102             display when startup.
1103
1104           - Bug fixed: KP_0 now works.
1105
1106       Version 3.4 (2013-03-31)
1107
1108           - I hope code to manipulate keys assigned in AlgrGr and Shift-AltGr
1109             positions are now fixed.  (Thanks, Paul)
1110
1111           - Default  value  of  xvkbd.textDelay is now set to 10, as it seems
1112             delay of 0 caused problems in some situations.
1113
1114           - ISO_Left_Tab is assigned to the shifted position of the  Tab  key
1115             on the xvkbd window, so that Shift-Tab can be simulated.
1116
1117           - New option -no-resize to disable resize of xvkbd window.
1118
1119       Version 3.5 (2013-07-15)
1120
1121           - Mode_switch  and  ISO_Level3_Shift  should  now  work better even
1122             without XTEST extension.
1123
1124           - Fixed a problem that "Always on Top" not work at startup.
1125
1126       Version 3.6 (2015-02-15)
1127
1128           - New -utf16 option - when used with -file option,  make  xvkbd  to
1129             accept UTF16 characters in the file.
1130
1131           - Keyboard layout selected with "Change Keyboard Layout..." will be
1132             kept when xvkbd is used next time.
1133
1134           - Caps Lock now works better for some of the keyboard layouts  con‐
1135             taining non-ASCII keys.
1136
1137           - Improved Hebrew keyboard layout (Thanks Genghis Khan)
1138
1139       Version 3.7 (2015-09-12)
1140
1141           - Right  click  capability was broken in the recent releases.  This
1142             bug is now fixed.
1143
1144       Version 3.8 (2017-06-06)
1145
1146           - When lower-case letters of xvkbd window are  clicked  while  Caps
1147             Lock  on  the  physical keyboard is on, by temporary toggling the
1148             Caps Lock status, xvkbd now try to  generate  lower-case  letters
1149             rather than upper-case letters.
1150
1151           - If  keyboard layout other than Default is selected, text assigned
1152             to function keys would  be lost.  This bug is now fixed.
1153
1154           - When German keymap is selected, after Shift key on  the  physical
1155             keyboard is pressed, xvkbd would generate "y" instead of "z" (and
1156             so on).  A workaround for this problem is now implemented.
1157
1158           - xvkbd sometimes caused an error "X Error of failed request:  Bad‐
1159             Value  (integer  parameter  out  of range for operation) /  Major
1160             opcode of failed request: 12 (X_ConfigureWindow)" and  failed  to
1161             start.  A workaround for this problem is now implemented.
1162
1163       Version 3.9 (2018-02-25)
1164
1165           - Modifiers (Alt, etc.) not working with -text option in the recent
1166             releases (Debian Bug#891082). This bug is now fixed.
1167
1168
1169

Author

1171       xvkbd was written by Tom Sato, and it is distributed under the terms of
1172       the GNU General Public License Version 2 or any later version.
1173
1174       Please send any feedback (such as bug reports, requests or comments) to
1175       Tom Sato <VEF00200@nifty.com>.
1176
1177       The latest version of this software and more information about  it  may
1178       be available at http://t-sato.in.coocan.jp/xvkbd/.
1179
1180
1181
1182                                  2018-02-25                          xvkbd(1)
Impressum