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 facility to enter characters onto other  clients  (soft‐
12       wares)  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 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 "Screen Shot") 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 "Screen Shot" 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 to be con‐
159           nected, so that following key events will be sent to windows on the
160           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.
226           If XTEST extension is not supported by the  X  server,  xvkbd  will
227           automatically switch to this mode.
228           Resource `xvkbd.xtest: false' has the same function.
229
230       -no-sync
231           Normally, xvkbd attempts to synchronize with the destinating client
232           step by step.  This can cause problem when the  client  (or  the  X
233           server) responded too slow.  In such situation, maybe this -no-sync
234           can solve the problem.
235           Resource `xvkbd.noSync: true' has the same function.
236
237       -no-jump-pointer
238           Make xvkbd not to jump the pointer when  sending  events.   In  the
239           default,  xvkbd will temporary jump the pointer to the focused win‐
240           dow, if input focus is set explicitly via Focus button,  and  XTEST
241           extension is to be used to simulate keyboard events.
242           Resource `xvkbd.jumpPointer: false' has the same function.
243
244       -no-back-pointer
245           Make  xvkbd  not  to jump the pointer back to the original position
246           after events has been sent.  Maybe this can be  useful  when  using
247           xvkbd to move the pointer position.
248           Resource `xvkbd.jumpPointerBack: false' has the same function.
249
250       -modal
251           Make labels on keys in the xvkbd window to be set independently for
252           each of four shift states, not shifted,  Shift,  AltGr  and  Shift-
253           AltGr.   This is useful when you want to make the xvkbd window very
254           small.
255           See also "Customizing Keyboard Layout" and  resouce  files  in  the
256           distribution.
257           Resource `xvkbd.modalKeytop: true' has the same function.
258
259       -geometry  [widthxheight][+xoff+yoff]
260           Set window geometry (size and position).
261           You can use form like -geometry 400x130 to specify the window size,
262           -geometry +100+100 to specify the  window  position  from  left/top
263           edge  of  the screen, and -geometry 400x130+100+100 to specify both
264           the  size  and  the  position.   You  can  specify  position   from
265           right/bottom edge of the screen by using - instead of +, but please
266           note that you must take account of size of the window border.   (If
267           you  specify  `-geometry  -0-0',  the  window  will  not fit in the
268           screen.)
269           This can be set by xvkbd.windowGeometry resource (note that  it  is
270           not xvkbd.geometry), too.
271
272       -no-repeat
273           Do not auto-repeat even if key is depressed long time.
274           If  auto-repeat is enabled (this is the default), time before start
275           auto-repeat can be set as `xvkbd*Repeater.initialDelay:  600',  and
276           period  of  repeat can be set as `xvkbd*Repeater.minimumDelay: 100'
277           (unit of there parameters are milli-seconds).
278           Resource `xvkbd.autoRepeat: false' has the same function.
279
280       -no-functionkey
281           Do not display function keys.
282           Resource `xvkbd.functionkey: false' has the same function.
283
284       -no-keypad
285           Do not display keypad.
286           Resource `xvkbd.keypad: false' has the same function.
287
288       -compact
289           Do not display function keys nor keypad.
290           Resource `xvkbd.compact: true' has the same function.
291
292       -keypad
293           Display only keypad.  This option will be ignored  if  `-no-keypad'
294           or `-compact' is specified.
295           Resource `xvkbd.keypadOnly: true' has the same function.
296
297       -text string
298           Send the string to the focused window (see also `-window' option).
299           If  this  option  is  specified, xvkbd will not open its window and
300           terminate soon after sending the string.
301           The string can contain:
302
303           - \r - Return
304
305           - \t - Tab
306
307           - \b - Backspace
308
309           - \e - Escape
310
311           - \d - Delete
312
313           - \S - Shift (modify the next character; please  note  that  modify
314             with  ``\S''  will  be  ignored  in  many  cases.   For  example,
315             ``a\Cb\ScD\CE'' will be interpreted as a, Control-b, c,  Shift-D,
316             and Control-Shift-E.)
317
318           - \C - Control (modify the next character)
319
320           - \A - Alt (modify the next character)
321
322           - \M - Meta (modify the next character)
323
324           - \[keysym] - the keysym keysym (e.g., \[Left])
325
326           - \Ddigit - delay digit * 100 ms
327
328           - \xvalue - move mouse pointer (use "+" or "-" for relative motion)
329
330           - \yvalue - move mouse pointer (use "+" or "-" for relative motion)
331
332           - \mdigit - simulate click of the specified mouse button
333
334       -file filename
335           Send  the contents of the specified file to the focused window (see
336           also `-window' option).  If ``-'' was specified  as  the  filename,
337           string to be sent will be read from the standard input (stdin).
338           If  this  option  is  specified, xvkbd will not open its window and
339           terminate soon after sending the string.
340
341       -delay value
342           Put value ms of delay for evey characters when  sending  characters
343           with -text or -file.  Maybe this is useful when problem arises when
344           characters are entered too fast.
345
346       -window window
347           Specify the ID (hexadecimal value  leaded  with  `0x',  or  decimal
348           value),  the  name  (instance name or class name) of the window, or
349           the title of the window to set input focus.  It is possible to  use
350           wildcard  characters  `*'  and `?'  to match the window name or the
351           window title.
352           If this is not specified, xvkbd will use input focus under  control
353           of  the  window  manager,  unless focus is specified explicitly via
354           Focus button.  Even if this option is specified, you can set  input
355           focus  to  other  windows  using  Focus  button, or clear the input
356           focus.
357           If there are two or more windows which have the name specified with
358           this option, the window which was found first will be selected.
359
360       -widget widget-name
361           Specify the name of the widget to set the input focus.  To use this
362           feature, the client must support  Editres  protocol.   In  general,
363           this option will be used with `-window' option.
364           If  you  want to set input focus to the widget foo.bar.zot, you can
365           write zot, bar.zot or foo.bar.zot as widget-name.  To avoid  confu‐
366           sion,  the  widget-name  should  match  with a single widget of the
367           client.
368           For example,
369
370               xvkbd -window xarchie -widget searchText -text "\Ca\Ckabc\r"
371
372           will enter the string ``abc'' to the ``Search  Term''  field  of  a
373           xarchie window.
374
375       -true-keypad
376           If this option is specified, xvkbd will attempt to use keysyms such
377           as XK_KP_1 instead of XK_1.
378           Resource `xvkbd.keypadKeysym: true' has the same function.
379
380       -dict filename
381           Specify the default dictionary (list of words) file to be used  for
382           word  completion.   The `Completion Dictionary' filename set on the
383           Property panel takes precedence over this.
384           Resource `xvkbd.dictFile: filename' has the same function.
385           See also ``Making your own completion dictionary''.
386
387       -minimizable
388           Make xvkbd window can be minimized (iconified) even  if  no  window
389           manager  is  in  use.  When this feature is enabled, small triangle
390           will be displayed at left ot the xvkbd main menu, and xvkbd  window
391           will be minimized when the triangle is clicked.
392           Resource `xvkbd.minimizable: true' has the same function.
393
394       -secure
395           Disable  invocation  of  external commands, including user assigned
396           command and the online manual reader.  Connection to  another  dis‐
397           plays would also be disabled.  This option may be useful when xvkbd
398           is to be run with some kind of privileges.
399           Resource `xvkbd.secure: true' has the same function.
400
401       -nonexitable
402           Disable termination of the xvkbd program.  This option may be  use‐
403           ful  when xvkbd is to be run automatically for systems with no key‐
404           boards and users should not terminate the xvkbd.
405           Resource `xvkbd.nonexitable: true' has the same function.
406
407       -xdm
408           Same as -secure -nonexitable.  When xvkbd is to be  run  for  login
409           screen, it would be suggested to use this option.
410
411       -modifiers modifiers
412           Normally,  xvkbd  will  activate  modifiers  (control, shift, etc.)
413           only while sending characters.  If modifiers  were  specified  with
414           this option, the specified modifiers will be activated while corre‐
415           sponding key on the xvkbd window is in active.   For  example,  you
416           can  specify  -modifiers  shift,control,meta,alt  to apply this for
417           those four modifiers.  Maybe this can be useful when attempting  to
418           decorate the mouse operations with the modifiers.  Please note that
419           the modifiers will also be applied when attempting to click on  the
420           xvkbd  window  and  which can prevent the correct operation in some
421           situations.
422           Resource `xvkbd.positiveModifiers: modifiers...' has the same func‐
423           tion.
424
425       -debug
426           Make  xvkbd  to output debug information.  It also disable keyboard
427           width adjustment, to help adjusting key size when  making  keyboard
428           layout file.
429           <!--
430
431       -version
432           Output version information and exit.  -->
433
434

Screen Shot

436       Default (US)
437           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-normal.gif
438
439       Belgian
440           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-belgian.gif
441
442       Danish
443           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-danish.gif
444
445       French
446           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-french.gif
447           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-french2.gif
448
449       German
450           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-german.gif
451
452       Icelandic
453           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-icelandic.gif
454
455       Italian
456           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-italian.gif
457
458       Japanese (JIS-X-6002)
459           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-jisx6002.gif
460
461       Japanese (JIS-X-6004)
462           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-jisx6004.gif
463
464       Norwegian
465           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-norwegian.gif
466
467       Portuguese
468           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-portuguese.gif
469
470       Spanish
471           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-spanish.gif
472
473       Swedish
474           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-swedish.gif
475
476       Swiss/German
477           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-swissgerman.gif
478
479       United Kingdom
480           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-uk.gif
481
482       Latin-1
483           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-latin1.gif
484
485       Small Keyboard (maybe suitable for PDAs)
486           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-small.gif
487
488       Hebrew
489           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-hebrew.gif
490
491       Greek
492           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-greek.gif
493
494       Turkish
495           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-turkish.gif
496
497       Slovene
498           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-slovene.gif
499
500       Korean
501           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-korean.gif
502
503       Russian (Cyrillic)
504           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-russian.gif
505
506

Download

508       Latest Official Release
509           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-3.2.tar.gz
510           - source of version 3.2 (2010-03-14)
511
512       previous release
513           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-3.1.tar.gz
514           - source of version 3.1 (2010-01-17)
515           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-3.0.tar.gz
516           - source of version 3.0 (2008-05-05)
517
518       xvkbd is distributed under the terms of the GNU General Public License.
519
520

Install

522         o untar the source in a directory, and move to the directory
523
524         o If  you wish to use genuine Xaw insead of Xaw3d, edit Imakefile and
525           remove (or comment-out) `#define XAW3D'.
526           When you are installing xvkbd (for example) in  very  old  systems,
527           you  may  also want to remove `#define XTEST' and `#define I18N' to
528           disable XTEST and internationalization facility respectively.
529
530         o Run xmkmf; make install install.man
531
532

Customization

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

Miscellaneous Informations

693    Notes
694         o On  XFree86,  resolution  switch  with Ctrl + Alt + Keypad-Plus and
695           Ctrl + Alt + Keypad-Minus may be simulated.  However, Ctrl + Alt  +
696           Backspace will not be simulated.
697
698         o Shift  is used to decide key to be sent and it will not used to set
699           modifier bit when sending the event.  You can use  xev  command  to
700           check what is actually sent.
701
702         o If Alt or Meta is not defined as modifier, the key can't be used as
703           modifier.  You can use `xmodmap -pm' to  check  how  modifiers  are
704           defined.
705
706         o Num  Lock  (and maybe other modifiers) on the physical keyboard may
707           not work correctly when xvkbd is in use.
708
709
710    Additional Informations
711       FAQ - Possible Problems and Solutions
712           http://homepage3.nifty.com/tsato/xvkbd/faq.html
713
714       Making your own completion dictionary
715           http://homepage3.nifty.com/tsato/xvkbd/make-dic.html
716
717       Hints to use xvkbd -text
718           http://homepage3.nifty.com/tsato/xvkbd/xvkbd-text.html
719
720       Note about how to send key events
721           http://homepage3.nifty.com/tsato/xvkbd/events.html
722
723

Change Log

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

Author

1069       xvkbd was written by Tom Sato, and it is distributed under the terms of
1070       the GNU General Public License Version 2 or any later version.
1071
1072       Please send any feedback (such as bug reports, requests or comments) to
1073       Tom Sato <VEF00200@nifty.ne.jp>.
1074
1075       The  latest  version of this software and more information about it may
1076       be available at  http://homepage3.nifty.com/tsato/xvkbd/.   Release  of
1077       the  new  version  will  be  announced  on the Freshmeat (http://fresh
1078       meat.net), and you can probably receive the announce via e-mail if  you
1079       wish.
1080
1081
1082
1083                                  2010-03-14                          xvkbd(1)
Impressum