1xvkbd(1) General Commands Manual xvkbd(1)
2
3
4
6 xvkbd - virtual keyboard for X window system
7
8
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
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
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
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
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
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
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
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
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
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)