diff options
-rw-r--r-- | x11/xvkbd/Makefile | 1 | ||||
-rw-r--r-- | x11/xvkbd/files/patch-xvkbd.c | 270 | ||||
-rw-r--r-- | x11/xvkbd/files/patch-xvkbd.man | 596 |
3 files changed, 843 insertions, 24 deletions
diff --git a/x11/xvkbd/Makefile b/x11/xvkbd/Makefile index 106625c9a73c..4bd7d83ec4c5 100644 --- a/x11/xvkbd/Makefile +++ b/x11/xvkbd/Makefile @@ -7,6 +7,7 @@ PORTNAME= xvkbd PORTVERSION= 3.0 +PORTREVISION= 1 CATEGORIES= x11 MASTER_SITES= http://homepage3.nifty.com/tsato/xvkbd/ diff --git a/x11/xvkbd/files/patch-xvkbd.c b/x11/xvkbd/files/patch-xvkbd.c index 8de81a063b76..79bdc3b068cd 100644 --- a/x11/xvkbd/files/patch-xvkbd.c +++ b/x11/xvkbd/files/patch-xvkbd.c @@ -1,6 +1,6 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c --- ../../vendor/xvkbd/xvkbd.c 2008-05-28 23:43:41.000000000 +0300 -+++ ./xvkbd.c 2008-05-29 00:38:40.000000000 +0300 ++++ ./xvkbd.c 2008-06-03 14:54:14.000000000 +0300 @@ -346,7 +346,7 @@ { "keyFile", "KeyFile", XtRString, sizeof(char *), Offset(key_file), XtRImmediate, ".xvkbd" }, @@ -10,7 +10,61 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c { "customizations", "Customizations", XtRString, sizeof(char *), Offset(customizations), XtRImmediate, "default" }, { "editableFunctionKeys", "EditableFunctionKeys", XtRInt, sizeof(int), -@@ -1154,7 +1154,7 @@ +@@ -439,8 +439,8 @@ + static int altgr_mask = 0; + static KeySym altgr_keysym = NoSymbol; + +-static int shift_state = 0; +-static int mouse_shift = 0; ++static unsigned int shift_state = 0; ++static unsigned int mouse_shift = 0; + + static Display *target_dpy = NULL; + +@@ -451,7 +451,7 @@ + static Pixmap xvkbd_pixmap = None; + + static int AddKeysym(KeySym keysym, Boolean top); /* forward */ +-static void SendString(const unsigned char *str); ++static void SendString(const char *str); + static void MakeKeyboard(Boolean remake); + static void MakeKeypad(Widget form, Widget from_vert, Widget from_horiz); + static void MakeSunFunctionKey(Widget form, Widget from_vert, Widget from_horiz); +@@ -468,8 +468,7 @@ + { + Window w; + Window *children, dummy; +- unsigned int nchildren; +- int i; ++ unsigned int nchildren, i; + XClassHint hint; + + w = None; +@@ -746,7 +745,9 @@ + */ + static void SendEvent(XKeyEvent *event) + { ++#ifdef USE_XTEST + static Boolean first = TRUE; ++#endif + + if (!appres.no_sync) { + XSync(event->display, FALSE); +@@ -1027,11 +1028,11 @@ + + #ifdef USE_XTEST + if (appres.xtest) { +- Window root, child; ++ Window troot, child; + int root_x, root_y, x, y; + unsigned int mask; + +- XQueryPointer(target_dpy, event.root, &root, &child, &root_x, &root_y, &x, &y, &mask); ++ XQueryPointer(target_dpy, event.root, &troot, &child, &root_x, &root_y, &x, &y, &mask); + + event.type = KeyRelease; + event.state = 0; +@@ -1154,7 +1155,7 @@ * via xvkbd can be listed, and choosing one of them will send the * suffix to the clients. * Words for completion will be read from dictionary file specified @@ -19,7 +73,31 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c */ static Widget completion_panel = None; static Widget completion_entry = None; -@@ -1350,11 +1350,12 @@ +@@ -1211,7 +1212,7 @@ + + static void AddToCompletionText(KeySym keysym) + { +- int len; ++ size_t len; + struct WORDLIST *node_ptr; + + if (completion_entry != None) { +@@ -1300,11 +1301,11 @@ + */ + static void KeyPressed(Widget w, char *key, char *data); + +-static void SendString(const unsigned char *str) ++static void SendString(const char *str) + { +- const unsigned char *cp, *cp2; /* I remember "unsigned" might be required for some systems */ ++ const char *cp, *cp2; + char key[50]; +- int len; ++ size_t len; + int val; + Window target_root, child, junk_w; + int junk_i; +@@ -1350,11 +1351,12 @@ if ('1' <= *cp && *cp <= '9') { usleep((*cp - '0') * 100000); } else { @@ -33,7 +111,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c cp++; if ('1' <= *cp && *cp <= '9') { if (appres.debug) fprintf(stderr, "XTestFakeButtonEvent(%d)\n", *cp - '0'); -@@ -1365,10 +1366,18 @@ +@@ -1365,10 +1367,18 @@ fprintf(stderr, "%s: no digit after \"\\m\"\n", PROGRAM_NAME); } @@ -53,7 +131,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c target_root = RootWindow(target_dpy, DefaultScreen(target_dpy)); XQueryPointer(target_dpy, target_root, &junk_w, &child, &cur_x, &cur_y, &junk_i, &junk_i, &junk_u); -@@ -1436,7 +1445,7 @@ +@@ -1436,7 +1446,7 @@ char name1[50]; Widget w; @@ -62,7 +140,69 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c w = XtNameToWidget(toplevel, name1); if (w != None) { if (strstr(name, "Focus") != NULL) { -@@ -1660,7 +1669,7 @@ +@@ -1465,13 +1475,13 @@ + static void RefreshShiftState(Boolean force) + { + static Boolean first = TRUE; +- static int last_shift_state = 0; +- static int last_mouse_shift = 0; ++ static unsigned int last_shift_state = 0; ++ static unsigned int last_mouse_shift = 0; + static int last_num_lock_state = FALSE; + static Display *last_target_dpy = NULL; +- static long last_focus = 0; +- int cur_shift; +- int changed; ++ static Window last_focus = 0; ++ unsigned int cur_shift; ++ unsigned int changed; + int first_row, row, col; + Boolean shifted; + char *label; +@@ -1562,7 +1572,7 @@ + + Window root, child; + int root_x, root_y, x, y; +- unsigned int mask; ++ unsigned int tmask; + + XKeyEvent event; + +@@ -1578,28 +1588,28 @@ + event.same_screen = TRUE; + event.state = 0; + +- XQueryPointer(target_dpy, event.root, &root, &child, &root_x, &root_y, &x, &y, &mask); ++ XQueryPointer(target_dpy, event.root, &root, &child, &root_x, &root_y, &x, &y, &tmask); + + if (strstr(appres.positive_modifiers, "shift") != NULL +- && (shift_state & ShiftMask) != (mask & ShiftMask)) { ++ && (shift_state & ShiftMask) != (tmask & ShiftMask)) { + event.keycode = XKeysymToKeycode(target_dpy, XK_Shift_L); + event.type = (shift_state & ShiftMask) ? KeyPress : KeyRelease; + SendEvent(&event); + } + if (strstr(appres.positive_modifiers, "control") != NULL +- && (shift_state & ControlMask) != (mask & ControlMask)) { ++ && (shift_state & ControlMask) != (tmask & ControlMask)) { + event.keycode = XKeysymToKeycode(target_dpy, XK_Control_L); + event.type = (shift_state & ControlMask) ? KeyPress : KeyRelease; + SendEvent(&event); + } + if (strstr(appres.positive_modifiers, "alt") != NULL +- && (shift_state & alt_mask) != (mask & alt_mask)) { ++ && (shift_state & alt_mask) != (tmask & alt_mask)) { + event.keycode = XKeysymToKeycode(target_dpy, XK_Alt_L); + event.type = (shift_state & alt_mask) ? KeyPress : KeyRelease; + SendEvent(&event); + } + if (strstr(appres.positive_modifiers, "meta") != NULL +- && (shift_state & meta_mask) != (mask & meta_mask)) { ++ && (shift_state & meta_mask) != (tmask & meta_mask)) { + event.keycode = XKeysymToKeycode(target_dpy, XK_Meta_L); + event.type = (shift_state & meta_mask) ? KeyPress : KeyRelease; + SendEvent(&event); +@@ -1660,7 +1670,7 @@ XtVaGetValues(w, XtNx, &x0, XtNy, &y0, NULL); XGetGeometry(dpy, XtWindow(w), &root, &x1, &y1, &wd, &ht, &bd, &dp); @@ -71,7 +211,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c return geom; } -@@ -1680,7 +1689,7 @@ +@@ -1680,7 +1690,7 @@ if (strcmp(key, "default") != 0) { sscanf(key, "%29[^/]/%29s", customization, lang); @@ -80,7 +220,24 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c xenv = XtResolvePathname(dpy, "app-defaults", name, NULL, NULL, NULL, 0, NULL); if (xenv == NULL) { fprintf(stderr, "%s: app-default file \"%s\" not installed\n", -@@ -1940,7 +1949,7 @@ +@@ -1792,6 +1802,7 @@ + XtVaGetValues(XtNameToWidget(props_panel, "*jump_pointer"), + XtNstate, &appres.jump_pointer, NULL); + ++ /* These two lines generate warnings with -Wbad-function-cast. Grrr. */ + appres.key_click_duration = (int)XawToggleGetCurrent(click_buttons); + appres.autoclick_delay = (int)XawToggleGetCurrent(autoclick_buttons); + +@@ -1848,7 +1859,7 @@ + if (props_panel == None) { + Widget label, button; + Widget form, w; +- int i; ++ Cardinal i; + int val; + + props_panel = XtVaCreatePopupShell("props_panel", transientShellWidgetClass, +@@ -1940,7 +1951,7 @@ focused_subwindow = None; if (target_dpy != NULL && target_dpy != dpy) XCloseDisplay(target_dpy); @@ -89,7 +246,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c for (cp = name; isascii(*cp) && isprint(*cp); cp++) ; *cp = '\0'; -@@ -2423,7 +2432,7 @@ +@@ -2423,7 +2434,7 @@ XtAddCallback(w, XtNcallback, (XtCallbackProc)KeyPressed, (XtPointer)name); if (label != NULL) { @@ -98,7 +255,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c if (strcmp(str, "space") == 0) strcpy(str, ""); len = strlen(str); if (3 <= len) { -@@ -2495,9 +2504,9 @@ +@@ -2495,9 +2506,9 @@ || (strncmp(keypad_shift[row][col], "KP_", 3) == 0 && isdigit(keypad_shift[row][col][3]))) color = appres.general_background; @@ -110,7 +267,22 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c key = MakeKey(keypad_box, XtNewString(name), keypad_label[row][col], color); XtVaSetValues(key, XtNfont, font, NULL); -@@ -2622,7 +2631,7 @@ +@@ -2599,12 +2610,12 @@ + Widget form, key, left; + Pixel color; + XFontStruct *font; +- Dimension wd, max_wd; ++ Dimension dwd, max_dwd; + int row, col, first_row; + char name[50], *label; + Widget key_box[NUM_KEY_ROWS]; + Widget menu_entry; +- int i; ++ Cardinal i; + + #include "xvkbd.xbm" + #include "iconify.xbm" +@@ -2622,7 +2633,7 @@ first_row = appres.function_key ? 0 : 1; if (!appres.keypad_only) { for (row = first_row; row < NUM_KEY_ROWS; row++) { @@ -119,7 +291,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c key_box[row] = XtVaCreateManagedWidget(name, formWidgetClass, form, NULL); if (row != first_row) XtVaSetValues(key_box[row], XtNfromVert, key_box[row - 1], NULL); -@@ -2631,7 +2640,7 @@ +@@ -2631,7 +2642,7 @@ left = None; for (col = 0; keys_normal[row][col] != NULL; col++) { @@ -128,7 +300,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c if (strcmp(name, "MainMenu") == 0) { Widget iconify_button = None; -@@ -2673,7 +2682,7 @@ +@@ -2673,11 +2684,11 @@ color = appres.general_background; font = appres.general_font; if (isalpha(name[0])) font = appres.letter_font; @@ -136,8 +308,45 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c + if (strcmp(name, "space") != 0) snprintf(name, sizeof(name), "%d,%d", row, col); } key = MakeKey(key_box[row], XtNewString(name), label, color); - XtVaGetValues(key, XtNwidth, &wd, NULL); -@@ -2834,17 +2843,18 @@ +- XtVaGetValues(key, XtNwidth, &wd, NULL); +- if (wd <= 1) { ++ XtVaGetValues(key, XtNwidth, &dwd, NULL); ++ if (dwd <= 1) { + /* keys can be removed by setting its width to 1 */ + XtDestroyWidget(key); + key = None; +@@ -2712,7 +2723,7 @@ + Window root; + int x1, y1; + unsigned int wd, ht, bd, dp; +- int max_wd, max_ht; ++ unsigned int max_wd, max_ht; + + XGetGeometry(dpy, XtWindow(toplevel), &root, &x1, &y1, &wd, &ht, &bd, &dp); + max_wd = XtScreen(toplevel)->width * appres.max_width_ratio; +@@ -2730,16 +2741,16 @@ + + if (!appres.debug && key_box[first_row] != None) { + if (appres.keypad) { +- XtVaGetValues(key_box[1], XtNwidth, &max_wd, NULL); ++ XtVaGetValues(key_box[1], XtNwidth, &max_dwd, NULL); + } else { +- max_wd = 0; ++ max_dwd = 0; + for (row = first_row; row < NUM_KEY_ROWS; row++) { +- XtVaGetValues(key_box[row], XtNwidth, &wd, NULL); +- if (max_wd < wd) max_wd = wd; ++ XtVaGetValues(key_box[row], XtNwidth, &dwd, NULL); ++ if (max_dwd < dwd) max_dwd = dwd; + } + } + for (row = first_row; row < NUM_KEY_ROWS; row++) { +- XtVaSetValues(key_box[row], XtNwidth, max_wd, NULL); ++ XtVaSetValues(key_box[row], XtNwidth, max_dwd, NULL); + } + } + if (0 < strlen(appres.geometry)) { +@@ -2834,17 +2845,18 @@ home = getenv("HOME"); if (appres.key_file[0] != '/' && home != NULL && strlen(home) + strlen(appres.key_file) + 1 < sizeof(fkey_filename)) @@ -160,7 +369,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c appres.quick_modifiers = val; else if (strcmp(key, "shift_lock") == 0) appres.shift_lock = val; -@@ -2913,9 +2923,9 @@ +@@ -2913,9 +2925,9 @@ if (key == NULL) strcpy(key2, ""); else if (strncmp(key, "Shift-", strlen("Shift-")) == 0) @@ -172,7 +381,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c if (strcmp(cur_fkey, key2) != 0) { if (strlen(cur_fkey) != 0) { -@@ -2958,10 +2968,10 @@ +@@ -2958,10 +2970,10 @@ FKeyValueMenuSelected(None, (value[0] == '!') ? "command" : "string"); if (value[0] == '!' || value[0] == '\\') value = value + 1; @@ -185,7 +394,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c } } } -@@ -3020,9 +3030,9 @@ +@@ -3020,9 +3032,9 @@ for (j = 0; j <= 1; j++) { for (i = 1; i <= appres.editable_function_keys; i++) { if (j == 0) @@ -197,7 +406,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c key = XtNewString(label); menu_entry = XtVaCreateManagedWidget(key, smeBSBObjectClass, menu, NULL); XtAddCallback(menu_entry, XtNcallback, (XtCallbackProc)FKeyMenuSelected, -@@ -3084,8 +3094,8 @@ +@@ -3084,8 +3096,8 @@ else if (shift_state & ControlMask) prefix = 'c'; else if (shift_state & ShiftMask) prefix = 's'; } @@ -208,7 +417,7 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c len = strlen(label); for (sp = fkey_list; sp != NULL; sp = sp->next) { -@@ -3143,8 +3153,10 @@ +@@ -3143,8 +3155,10 @@ { StopAutoclick(); @@ -219,7 +428,26 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.c ./xvkbd.c } static void ShowBalloon(Widget w, XEvent *event, String *pars, Cardinal *n_pars) -@@ -3447,7 +3459,7 @@ +@@ -3225,7 +3239,7 @@ + static void VisibilityChanged(Widget w, XEvent *event, + String *pars, Cardinal *n_pars) + { +- static cnt = 0; ++ static int cnt = 0; + static time_t t1 = 0; + time_t t2; + +@@ -3272,7 +3286,9 @@ + + char ch; + Window child; ++#ifdef USE_XTEST + int op, ev, err; ++#endif + + argc1 = argc; + argv1 = malloc(sizeof(char *) * (argc1 + 5)); +@@ -3447,7 +3463,7 @@ } else { s = locale; } diff --git a/x11/xvkbd/files/patch-xvkbd.man b/x11/xvkbd/files/patch-xvkbd.man index 44c13de2adaf..ccb65a86e1b9 100644 --- a/x11/xvkbd/files/patch-xvkbd.man +++ b/x11/xvkbd/files/patch-xvkbd.man @@ -1,12 +1,602 @@ diff -urN -x .svn ../../vendor/xvkbd/xvkbd.man ./xvkbd.man --- ../../vendor/xvkbd/xvkbd.man 2008-05-28 23:43:41.000000000 +0300 -+++ ./xvkbd.man 2008-05-29 00:13:19.000000000 +0300 -@@ -116,7 +116,7 @@ ++++ ./xvkbd.man 2008-06-03 14:54:13.000000000 +0300 +@@ -29,7 +29,7 @@ + .PP + \fIIMPORTANT NOTE:\fP + When invoking \fIxvkbd\fP from display managers such as XDM, GDM, etc., +-always use \fIxvkbd\fP with \fB-secure\fP option ++always use \fIxvkbd\fP with \fB\-secure\fP option + or you will have serious security risk. + + .SH "Environment" +@@ -116,8 +116,8 @@ and you can enter the remaining characters of the selected word by clicking one of the words in the list. .PP -The dictionary (list of words) file is \fB/usr/dict/words\fP by default, +-but it can be changed by \fB-dict\fP option or \fBxvkbd.dictFile\fP resouce. +The dictionary (list of words) file is \fB/usr/share/dict/words\fP by default, - but it can be changed by \fB-dict\fP option or \fBxvkbd.dictFile\fP resouce. ++but it can be changed by \fB\-dict\fP option or \fBxvkbd.dictFile\fP resouce. .SH " Main Menu" + Pressing the ``xvkbd'' logo on the main keyboard +@@ -235,10 +235,10 @@ + + .SH " Options" + \fIxvkbd\fP accept following command line options, in addition to +-general options such as `\fB-display\fP'. ++general options such as `\fB\-display\fP'. + .PP + .TP 4 +-.B "-xsendevent" ++.B "\-xsendevent" + Make \fIxvkbd\fP to use \fIXSendEvent()\fP to simulate keyboard events, + as it was in \fIxvkbd\fP version 1.0. + \fIxvkbd\fP version 1.1 and later will try to use XTEST extension instead +@@ -249,14 +249,14 @@ + .sp 0.5 + Resource `\fBxvkbd.xtest: false\fP' has the same function. + .TP 4 +-.B "-no-sync" ++.B "\-no\-sync" + Normally, \fIxvkbd\fP attempts to synchronize with the destinating client step by step. + This can cause problem when the client (or the X server) responded too slow. +-In such situation, maybe this \fB-no-sync\fP can solve the problem. ++In such situation, maybe this \fB\-no\-sync\fP can solve the problem. + .sp 0.5 + Resource `\fBxvkbd.noSync: true\fP' has the same function. + .TP 4 +-.B "-no-jump-pointer" ++.B "\-no\-jump\-pointer" + Make \fIxvkbd\fP not to jump the pointer when sending events. + In the default, \fIxvkbd\fP will temporary jump the pointer to the focused window, + if input focus is set explicitly via \fIFocus\fP button, +@@ -264,14 +264,14 @@ + .sp 0.5 + Resource `\fBxvkbd.jumpPointer: false\fP' has the same function. + .TP 4 +-.B "-no-back-pointer" ++.B "\-no\-back\-pointer" + Make \fIxvkbd\fP not to jump the pointer back to the original position + after events has been sent. + Maybe this can be useful when using \fIxvkbd\fP to move the pointer position. + .sp 0.5 + Resource `\fBxvkbd.jumpPointerBack: false\fP' has the same function. + .TP 4 +-.B "-modal" ++.B "\-modal" + Make labels on keys in the \fIxvkbd\fP window + to be set independently for each of four shift states, + not shifted, \fIShift\fP, \fIAltGr\fP and \fIShift\fP-\fIAltGr\fP. +@@ -282,22 +282,22 @@ + .sp 0.5 + Resource `\fBxvkbd.modalKeytop: true\fP' has the same function. + .TP 4 +-.B "-geometry "[\fIwidth\fPx\fIheight\fP][\fB+\fIxoff\fP+\fIyoff\fP] ++.B "\-geometry "[\fIwidth\fPx\fIheight\fP][\fB+\fIxoff\fP+\fIyoff\fP] + Set window geometry (size and position). + .sp 0.5 +-You can use form like \fB-geometry 400x130\fP to specify the window size, +-\fB-geometry +100+100\fP to specify the window position from left/top edge of the screen, +-and \fB-geometry 400x130+100+100\fP to specify both the size and the position. ++You can use form like \fB\-geometry 400x130\fP to specify the window size, ++\fB\-geometry +100+100\fP to specify the window position from left/top edge of the screen, ++and \fB\-geometry 400x130+100+100\fP to specify both the size and the position. + You can specify position from right/bottom edge of the screen +-by using \fB-\fP instead of \fB+\fP, ++by using \fB\-\fP instead of \fB+\fP, + but please note that you must take account of size of the window border. +-(If you specify `\fB-geometry -0-0\fP', ++(If you specify `\fB\-geometry \-0\-0\fP', + the window will not fit in the screen.) + .sp 0.5 + This can be set by \fBxvkbd.windowGeometry\fP resource + (note that it is not \fBxvkbd.geometry\fP), too. + .TP 4 +-.B "-no-repeat" ++.B "\-no\-repeat" + Do not auto-repeat even if key is depressed long time. + .sp 0.5 + If auto-repeat is enabled (this is the default), +@@ -309,31 +309,31 @@ + .sp 0.5 + Resource `\fBxvkbd.autoRepeat: false\fP' has the same function. + .TP 4 +-.B "-no-functionkey" ++.B "\-no\-functionkey" + Do not display function keys. + .sp 0.5 + Resource `\fBxvkbd.functionkey: false\fP' has the same function. + .TP 4 +-.B "-no-keypad" ++.B "\-no\-keypad" + Do not display keypad. + .sp 0.5 + Resource `\fBxvkbd.keypad: false\fP' has the same function. + .TP 4 +-.B "-compact" ++.B "\-compact" + Do not display function keys nor keypad. + .sp 0.5 + Resource `\fBxvkbd.compact: true\fP' has the same function. + .TP 4 +-.B "-keypad" ++.B "\-keypad" + Display only keypad. + This option will be ignored +-if `\fB-no-keypad\fP' or `\fB-compact\fP' is specified. ++if `\fB\-no\-keypad\fP' or `\fB\-compact\fP' is specified. + .sp 0.5 + Resource `\fBxvkbd.keypadOnly: true\fP' has the same function. + .TP 4 +-.BI "-text " string ++.BI "\-text " string + Send the string to the focused window +-(see also `\fB-window\fP' option). ++(see also `\fB\-window\fP' option). + .sp 0.5 + If this option is specified, + \fIxvkbd\fP will not open its window +@@ -373,22 +373,22 @@ + .IP " - " 6 + \fB\\m\fP\fIdigit\fP - simulate click of the specified mouse button + .TP 4 +-.BI "-file " filename ++.BI "\-file " filename + Send the contents of the specified file to the focused window +-(see also `\fB-window\fP' option). +-If ``\fB-\fP'' was specified as the \fIfilename\fP, ++(see also `\fB\-window\fP' option). ++If ``\fB\-\fP'' was specified as the \fIfilename\fP, + string to be sent will be read from the standard input (stdin). + .sp 0.5 + If this option is specified, + \fIxvkbd\fP will not open its window + and terminate soon after sending the string. + .TP 4 +-.BI "-delay " value +-Put \fIvalue\fP ms of delay for evey characters +-when sending characters with \fB-text\fP or \fB-file\fP. ++.BI "\-delay " value ++Put \fIvalue\fP ms of delay for every character ++when sending characters with \fB\-text\fP or \fB\-file\fP. + Maybe this is useful when problem arises when characters are entered too fast. + .TP 4 +-.BI "-window " window ++.BI "\-window " window + Specify the ID + (hexadecimal value leaded with `\fB0x\fP', or decimal value) + or name (instance name or class name) of the window to set input focus. +@@ -402,10 +402,10 @@ + If there are two or more windows which have the name specified with this option, + the window which was found first will be selected. + .TP 4 +-.BI "-widget " widget-name ++.BI "\-widget " widget-name + Specify the name of the widget to set the input focus. + To use this feature, the client must support \fIEditres\fP protocol. +-In general, this option will be used with `\fB-window\fP' option. ++In general, this option will be used with `\fB\-window\fP' option. + .sp 0.5 + If you want to set input focus to the widget \fBfoo.bar.zot\fP, + you can write \fBzot\fP, \fBbar.zot\fP or \fBfoo.bar.zot\fP +@@ -416,20 +416,20 @@ + For example, + .sp + .in +4 +-\fBxvkbd -window xarchie -widget searchText -text "\\Ca\\Ckabc\\r\fP" ++\fBxvkbd \-window xarchie \-widget searchText \-text "\\Ca\\Ckabc\\r\fP" + .sp + .in -4 + will enter the string ``\fBabc\fP'' to the ``Search Term'' field + of a \fBxarchie\fP window. + .TP 4 +-.B "-true-keypad" ++.B "\-true\-keypad" + If this option is specified, + \fIxvkbd\fP will attempt to use \fIkeysym\fPs such as + \fIXK_KP_1\fP instead of \fIXK_1\fP. + .sp 0.5 + Resource `\fBxvkbd.keypadKeysym: true\fP' has the same function. + .TP 4 +-.BI "-dict " filename ++.BI "\-dict " filename + Specify the dictionary (list of words) file to be used for + word completion. + .sp 0.5 +@@ -437,7 +437,7 @@ + .sp 0.5 + See also ``Making your own completion dictionary''. + .TP 4 +-.B "-minimizable" ++.B "\-minimizable" + Make \fIxvkbd\fP window can be minimized (iconified) + even if no window manager is in use. + When this feature is enabled, +@@ -446,7 +446,7 @@ + .sp 0.5 + Resource `\fBxvkbd.minimizable: true\fP' has the same function. + .TP 4 +-.B "-secure" ++.B "\-secure" + Disable invocation of external commands, + including user assigned command and the online manual reader. + Connection to another displays would also be disabled. +@@ -454,25 +454,25 @@ + .sp 0.5 + Resource `\fBxvkbd.secure: true\fP' has the same function. + .TP 4 +-.B "-nonexitable" ++.B "\-nonexitable" + Disable termination of the \fIxvkbd\fP program. + This option may be useful when \fIxvkbd\fP is to be run automatically + for systems with no keyboards and users should not terminate the \fIxvkbd\fP. + .sp 0.5 + Resource `\fBxvkbd.nonexitable: true\fP' has the same function. + .TP 4 +-.B "-xdm" +-Same as \fB-secure -nonexitable\fP. ++.B "\-xdm" ++Same as \fB\-secure \-nonexitable\fP. + When \fIxvkbd\fP is to be run for login screen, + it would be suggested to use this option. + .TP 4 +-.BI "-modifiers " modifiers ++.BI "\-modifiers " modifiers + Normally, \fIxvkbd\fP will activate modifiers (control, shift, etc.) + only whille sending characters. + If modifiers were specified with this option, + the specified modifiers will be activated + while corresponding key on the \fIxvkbd\fP window is in active. +-For example, you can specify \fB-modifiers shift,control,meta,alt\fP ++For example, you can specify \fB\-modifiers shift,control,meta,alt\fP + to apply this for those four modifiers. + Maybe this can be useful when attempting to decorate + the mouse operations with the modifiers. +@@ -485,85 +485,85 @@ + .SH "Screen Shot" + .TP 4 + Default (US) +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-normal.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-normal.gif + .TP 4 + Belgian +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-belgian.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-belgian.gif + .TP 4 + Danish +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-danish.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-danish.gif + .TP 4 + French +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-french.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-french.gif + .sp 0.5 +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-french2.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-french2.gif + .TP 4 + German +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-german.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-german.gif + .TP 4 + Icelandic +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-icelandic.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-icelandic.gif + .TP 4 + Italian +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-italian.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-italian.gif + .TP 4 + Japanese (JIS-X-6002) +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-jisx6002.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-jisx6002.gif + .TP 4 + Japanese (JIS-X-6004) +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-jisx6004.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-jisx6004.gif + .TP 4 + Norwegian +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-norwegian.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-norwegian.gif + .TP 4 + Portuguese +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-portuguese.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-portuguese.gif + .TP 4 + Spanish +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-spanish.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-spanish.gif + .TP 4 + Swedish +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-swedish.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-swedish.gif + .TP 4 + Swiss/German +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-swissgerman.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-swissgerman.gif + .TP 4 + United Kingdom +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-uk.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-uk.gif + .TP 4 + Latin-1 +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-latin1.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-latin1.gif + .TP 4 + Small Keyboard (maybe suitable for PDAs) +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-small.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-small.gif + .TP 4 + Hebrew +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-hebrew.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-hebrew.gif + .TP 4 + Greek +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-greek.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-greek.gif + .TP 4 + Turkish +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-turkish.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-turkish.gif + .TP 4 + Slovene +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-slovene.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-slovene.gif + .TP 4 + Korean +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-korean.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-korean.gif + .TP 4 + Russian (Cyrillic) +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-russian.gif ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-russian.gif + + .SH "Download" + .TP 4 + \fILatest Official Release\fP +-\fIhttp://homepage3.nifty.com/tsato/xvkbd/xvkbd-3.0.tar.gz\fP ++\fIhttp://homepage3.nifty.com/tsato/xvkbd/xvkbd\-3.0.tar.gz\fP + .br + - source of version 3.0 (2008-05-05) + .TP 4 + previous release +-http://homepage3.nifty.com/tsato/xvkbd/xvkbd-2.9.tar.gz\fP ++http://homepage3.nifty.com/tsato/xvkbd/xvkbd\-2.9.tar.gz\fP + .br + - source of version 2.9 (2008-03-30) + .PP +@@ -600,8 +600,8 @@ + .IP " o " 4 + set the filename to the \fB$XENVIRONMENT\fP environment variable, or + .IP " o " 4 +-put them in application default directory as `\fBXVkbd-\fP\fIsuffix\fP' +-and set resource ``\fBxvkbd.customization: -\fP\fIsuffix\fP'', or ++put them in application default directory as `\fBXVkbd\-\fP\fIsuffix\fP' ++and set resource ``\fBxvkbd.customization: \-\fP\fIsuffix\fP'', or + .IP " o " 4 + put them in application default directory as \fBXVkbd\fP. + .PP +@@ -613,11 +613,11 @@ + system's application default directory specified with + \fB$XFILESEACHPATH\fP environment variable, + or else the directory specified when compiling the X +-(e.g., \fB/usr/lib/X11/app-defaults\fP) ++(e.g., \fB/usr/lib/X11/app\-defaults\fP) + .PP + When the application default file is to be stored + in the system's application default directory, +-the file must contain ``\fB#include "XVkbd-common"\fP'' ++the file must contain ``\fB#include "XVkbd\-common"\fP'' + near top of the file. + .PP + \fIxvkbd\fP is distributed with some application default files, +@@ -648,7 +648,7 @@ + to display only the labels for the current shift state, + instead of trying to always display all of them in the small keytop. + .PP +-See also \fBXVkbd-small.ad\fP in the \fIxvkbd\fP distribution. ++See also \fBXVkbd\-small.ad\fP in the \fIxvkbd\fP distribution. + + .SH " Removing Unwanted Keys" + Keys on \fIxvkbd\fP window can be removed by setting its width to 1. +@@ -719,12 +719,12 @@ + In all of those resources, each keys are separated by spaces, + and rows of keys are terminated with `\fB \\n\\\fP' + (note that `\fB\\n\fP' must have space before it). +-Please refer \fBXVkbd-german.ad\fP and \fBXVkbd-latin1.ad\fP ++Please refer \fBXVkbd\-german.ad\fP and \fBXVkbd\-latin1.ad\fP + in the \fIxvkbd\fP distribution for more about these resources. + .PP +-\fBXVkbd-german\fP and \fBXVkbd-latin1\fP will be installed ++\fBXVkbd\-german\fP and \fBXVkbd\-latin1\fP will be installed + in the system's application default directory, +-and setting the resource ``\fBxvkbd.customization: -german\fP'' ++and setting the resource ``\fBxvkbd.customization: \-german\fP'' + will make \fIxvkbd\fP to use the German layout. + For another method to activate those settings, please refer + "How to Customize \fIxvkbd\fP" above. +@@ -786,7 +786,7 @@ + .IP " o " 4 + If \fIAlt\fP or \fIMeta\fP is not defined as modifier, + the key can't be used as modifier. +-You can use `\fBxmodmap -pm\fP' to check how modifiers are defined. ++You can use `\fBxmodmap \-pm\fP' to check how modifiers are defined. + .IP " o " 4 + \fINum Lock\fP (and maybe other modifiers) on the physical keyboard + may not work correctly when \fIxvkbd\fP is in use. +@@ -797,7 +797,7 @@ + http://homepage3.nifty.com/tsato/xvkbd/faq.html + .TP 4 + Making your own completion dictionary +-http://homepage3.nifty.com/tsato/xvkbd/make-dic.html ++http://homepage3.nifty.com/tsato/xvkbd/make\-dic.html + .TP 4 + Note about how to send key events + http://homepage3.nifty.com/tsato/xvkbd/events.html +@@ -818,26 +818,26 @@ + can be entered using dedicated key combinations. + .IP " - " 6 + Make keyboard layout not to be disturbed when +-window size if specified with \fB-geometry\fP option. ++window size if specified with \fB\-geometry\fP option. + .IP " - " 6 + Sample app-defaults file is added. + .TP 4 + Version 0.3 (2000-10-05) + .IP " - " 6 +-\fB-text\fP option can now accept some modifiers ++\fB\-text\fP option can now accept some modifiers + (\fB\\S\fP, \fB\\C\fP, etc.) and any keysyms + (\fB\\[\fP\fIkeysym\fP\fB]\fP). + .IP " - " 6 + In addition to the window ID, +-\fB-window\fP option can now accept window name. ++\fB\-window\fP option can now accept window name. + .IP " - " 6 +-New \fB-widget\fP option to specify the widget to set the input focus. ++New \fB\-widget\fP option to specify the widget to set the input focus. + .TP 4 + Version 1.0 (2000-11-03) + .IP " - " 6 + Keyboard layout can be now configured with resources. + See "Customizing Keyboard Layout" above, +-and \fBXVkbd-german.ad\fP in the distribution. ++and \fBXVkbd\-german.ad\fP in the distribution. + .IP " - " 6 + \fIxvkbd\fP can now send keys + with \fIMode_switch\fP (\fIAltGr\fP) modifier, +@@ -845,9 +845,9 @@ + .IP " - " 6 + \fIxvkbd\fP now support \fIAltGr\fP key + so that German (and some other) keyboard layout can be used. +-See \fBXVkbd-german.ad\fP in the distribution. ++See \fBXVkbd\-german.ad\fP in the distribution. + .IP " - " 6 +-\fBXVkbd-german\fP and \fBXVkbd-latin1\fP are included ++\fBXVkbd\-german\fP and \fBXVkbd\-latin1\fP are included + in the distribution, which modifies keyboard layout + and put some non-ASCII keys on the \fIxvkbd\fP window. + .IP " - " 6 +@@ -863,7 +863,7 @@ + not shifted, \fIShift\fP, \fIAltGr\fP and \fIShift\fP-\fIAltGr\fP. + (thanks, Jim) + .IP " - " 6 +-\fB-kterm\fP option and \fBxvkbd.kterm\fP resource are removed. ++\fB\-kterm\fP option and \fBxvkbd.kterm\fP resource are removed. + .TP 4 + Version 1.2 (2001-02-18) + .IP " - " 6 +@@ -891,7 +891,7 @@ + .TP 4 + Version 1.3 (2001-03-19) + .IP " - " 6 +-New app-defaults file for Swiss-German layout, \fBXVkbd-swissgerman.ad\fP. ++New app-defaults file for Swiss-German layout, \fBXVkbd\-swissgerman.ad\fP. + (contributed from Marcel Portner) + .IP " - " 6 + \fIxvkbd\fP now catches MappingNotify event and reload the new mapping. +@@ -941,7 +941,7 @@ + .TP 4 + Version 1.6 (2001-11-10) + .IP " - " 6 +-New `\fB-file\fP' option to send characters in the specified file. ++New `\fB\-file\fP' option to send characters in the specified file. + (thanks, Gregory) + .IP " - " 6 + New entry `\fIUse XTEST Extension?\fP' is added +@@ -960,7 +960,7 @@ + Show/hide of the keypad and funcion keys on the main window + can now be toggled from the main menu. + .IP " - " 6 +-New app-defaults file for French layout, \fBXVkbd-french.ad\fP. ++New app-defaults file for French layout, \fBXVkbd\-french.ad\fP. + (contributed from Jean-Pierre Demailly) + .TP 4 + Version 2.1 (2002-01-27) +@@ -968,9 +968,9 @@ + When height of the \fIxvkbd\fP window is smaller than + \fBXVkbd.modalThreshold\fP, + \fIxvkbd\fP will now automatically switch the keytop +-as if \fB-modal\fP option was specified. ++as if \fB\-modal\fP option was specified. + .IP " - " 6 +-\fB\\[\fP\fIkeysym\fP\fB]\fP in \fB-text\fP option ++\fB\\[\fP\fIkeysym\fP\fB]\fP in \fB\-text\fP option + would send wrong keys - this problem is now fixed. + .IP " - " 6 + Target \fBdistclean\fP in the \fBImakefile\fP is renamed +@@ -983,8 +983,8 @@ + String assigned to function keys can now be edited on a panel popped up via + "\fIEdit Function Keys...\fP" in the main menu. + .IP " - " 6 +-When ``\fB-\fP'' was specified as the filename parameter +-for \fB-file\fP option, \fIxvkbd\fP will now read ++When ``\fB\-\fP'' was specified as the filename parameter ++for \fB\-file\fP option, \fIxvkbd\fP will now read + its standard input (stdin) to get the string to be sent. + .IP " - " 6 + In the previous release, +@@ -1013,7 +1013,7 @@ + United Kingdom + and Latin-1. + .IP " - " 6 +-\fB-keypad\fP option would crash previous version of \fIxvkbd\fP ++\fB\-keypad\fP option would crash previous version of \fIxvkbd\fP + - this problem is now fixed. + .TP 4 + Version 2.4 (2002-10-02) +@@ -1074,24 +1074,24 @@ + .IP " - " 6 + It is now possible to minimize (iconify) the main window + even if no window manager is in use. +-This feature can be activated by \fB-minimizable\fP option ++This feature can be activated by \fB\-minimizable\fP option + or \fBxvkbd.minimizable\fP resource. + .IP " - " 6 + Experimental code to keep the \fIxvkbd\fP window always on the top of the display. +-This feature can be activated by \fB-always-on-top\fP option, ++This feature can be activated by \fB\-always\-on\-top\fP option, + \fBxvkbd.alwaysOnTop\fP resource + or the "Always on Top?" entry in the main menu. + Care should be taken as this feature can cause problem in some situations. + .IP " - " 6 +-\fB-text\fP option now support combinations of modifiers and a special key. +-For example, \fB-text '\\C\\A\\d'\fP can be used for Control-Alt-Delete key combination. ++\fB\-text\fP option now support combinations of modifiers and a special key. ++For example, \fB\-text '\\C\\A\\d'\fP can be used for Control-Alt-Delete key combination. + .IP " - " 6 + New options: +-\fB-secure\fP option (\fBxvkbd.secure\fP resource) ++\fB\-secure\fP option (\fBxvkbd.secure\fP resource) + which disables invocation of external commands, +-\fB-nonexitable\fP option (\fBxvkbd.nonexitable\fP resource) ++\fB\-nonexitable\fP option (\fBxvkbd.nonexitable\fP resource) + which inhibits termination of the program, +-and \fB-xdm\fP option which is equivalent to \fB-secure -nonexitable\fP ++and \fB\-xdm\fP option which is equivalent to \fB\-secure \-nonexitable\fP + and maybe useful when run \fIxvkbd\fP from a display manager. + .TP 4 + Version 2.7a (2005-05-07) +@@ -1107,17 +1107,17 @@ + Reference to the target bitmap is changed from + \fB/usr/X11R6/include/X11/bitmaps/target\fP to \fB/usr/include/X11/bitmaps/target\fP. + .IP " - " 6 +-New options: \fB-no-back-pointer\fP, \fB-no-sync\fP, \fB-modifiers\fP. ++New options: \fB\-no\-back\-pointer\fP, \fB\-no\-sync\fP, \fB\-modifiers\fP. + .TP 4 + Version 2.9 (2008-03-30) + .IP " - " 6 + Russian (Cyrillic) keyboard layout supported. (thanks, Victor) + .IP " - " 6 +-New \fB-delay\fP option. ++New \fB\-delay\fP option. + .IP " - " 6 +-\fB\\D\fP special sequence in \fB-text\fP can be used to put a delay in specific position. ++\fB\\D\fP special sequence in \fB\-text\fP can be used to put a delay in specific position. + .IP " - " 6 +-\fB-text\fP can now simulate mouse operation ++\fB\-text\fP can now simulate mouse operation + via \fB\\x\fP, \fB\\y\fP and \fB\\m\fP special sequences. + .TP 4 + Version 3.0 (2008-05-05) |