keys_config.h (6797B)
1 #ifndef _KEYS_CONFIG_H_ 2 #define _KEYS_CONFIG_H_ 3 4 #include "X11/Xlib.h" 5 #include "X11/keysym.h" 6 7 #include "common.h" 8 #include "keys.h" 9 10 /********************************* 11 * Key and command configuration * 12 *********************************/ 13 14 char *language_default = "English (US)"; 15 16 /* FIXME: binary search keys */ 17 struct { 18 char *func_name; 19 char *text; 20 unsigned int mods; 21 KeySym keysym; 22 ledit_mode modes; 23 } basic_keys_default[] = { 24 {"delete-chars-backwards-multiline", NULL, 0, XK_BackSpace, INSERT}, 25 {"cursor-left", NULL, 0, XK_Left, VISUAL|INSERT|NORMAL}, 26 {"cursor-right", NULL, 0, XK_Right, VISUAL|INSERT|NORMAL}, 27 {"cursor-up", NULL, 0, XK_Up, VISUAL|INSERT|NORMAL}, 28 {"cursor-down", NULL, 0, XK_Down, VISUAL|INSERT|NORMAL}, 29 {"break-line", NULL, XK_ANY_MOD, XK_Return, INSERT}, 30 {"delete-chars-forwards-multiline", NULL, 0, XK_Delete, INSERT}, 31 {"return-to-normal", NULL, 0, XK_Escape, NORMAL|VISUAL|INSERT}, 32 {"enter-insert", "i", 0, 0, NORMAL|VISUAL}, 33 {"cursor-left", "h", 0, 0, NORMAL|VISUAL}, 34 {"cursor-left", "h", ControlMask, 0, NORMAL|VISUAL}, 35 {"cursor-right", "l", 0, 0, NORMAL|VISUAL}, 36 {"cursor-up", "k", 0, 0, NORMAL|VISUAL}, 37 {"cursor-down", "j", 0, 0, NORMAL|VISUAL}, 38 {"toggle-hard-line-based", "t", ControlMask, 0, NORMAL|VISUAL|INSERT}, 39 {"cursor-right", NULL, 0, XK_space, NORMAL|VISUAL}, 40 {"cursor-down", "j", ControlMask, 0, NORMAL|VISUAL}, 41 {"cursor-down", "n", ControlMask, 0, NORMAL|VISUAL}, 42 {"cursor-up", "p", ControlMask, 0, NORMAL|VISUAL}, 43 {"key-0", "0", 0, 0, NORMAL|VISUAL}, 44 {"push-1", "1", 0, 0, NORMAL|VISUAL}, 45 {"push-2", "2", 0, 0, NORMAL|VISUAL}, 46 {"push-3", "3", 0, 0, NORMAL|VISUAL}, 47 {"push-4", "4", 0, 0, NORMAL|VISUAL}, 48 {"push-5", "5", 0, 0, NORMAL|VISUAL}, 49 {"push-6", "6", 0, 0, NORMAL|VISUAL}, 50 {"push-7", "7", 0, 0, NORMAL|VISUAL}, 51 {"push-8", "8", 0, 0, NORMAL|VISUAL}, 52 {"push-9", "9", 0, 0, NORMAL|VISUAL}, 53 {"delete-graphemes-forwards", "x", 0, 0, NORMAL}, 54 {"delete-graphemes-backwards", "X", 0, 0, NORMAL}, 55 {"delete", "d", 0, 0, NORMAL|VISUAL}, 56 {"yank", "y", 0, 0, NORMAL|VISUAL}, 57 {"yank-lines", "Y", 0, 0, NORMAL}, 58 {"change", "c", 0, 0, NORMAL|VISUAL}, 59 {"enter-visual", "v", 0, 0, NORMAL}, 60 {"switch-selection-end", "o", 0, 0, VISUAL}, 61 {"clipboard-copy", "c", ControlMask, 0, NORMAL|VISUAL|INSERT}, 62 {"clipboard-paste", "v", ControlMask, 0, VISUAL|INSERT}, 63 {"show-line", "g", ControlMask, 0, NORMAL|VISUAL|INSERT}, 64 {"enter-commandedit", ":", 0, 0, NORMAL|VISUAL}, 65 {"enter-searchedit-backwards", "?", 0, 0, NORMAL}, 66 {"enter-searchedit-forwards", "/", 0, 0, NORMAL}, 67 {"search-next", "n", 0, 0, NORMAL|VISUAL}, 68 {"search-previous", "N", 0, 0, NORMAL|VISUAL}, 69 {"undo", "u", 0, 0, NORMAL}, 70 {"redo", "U", 0, 0, NORMAL}, 71 {"repeat-command", ".", 0, 0, NORMAL}, /* FIXME: only allow after finished key sequence */ 72 {"undo", "z", ControlMask, 0, INSERT}, 73 {"redo", "y", ControlMask, 0, INSERT}, /* FIXME: this is confusing with ctrl-y in normal mode */ 74 {"screen-up", "b", ControlMask, 0, NORMAL}, 75 {"screen-down", "f", ControlMask, 0, NORMAL}, 76 {"scroll-with-cursor-down", "e", ControlMask, 0, NORMAL}, 77 {"scroll-with-cursor-up", "y", ControlMask, 0, NORMAL}, 78 {"scroll-lines-down", "d", ControlMask, 0, NORMAL}, 79 {"scroll-lines-up", "u", ControlMask, 0, NORMAL}, 80 {"move-to-eol", "$", 0, 0, NORMAL|VISUAL}, 81 {"next-word", "w", 0, 0, NORMAL|VISUAL}, 82 {"next-word-end", "e", 0, 0, NORMAL|VISUAL}, 83 {"next-bigword", "W", 0, 0, NORMAL|VISUAL}, 84 {"next-bigword-end", "E", 0, 0, NORMAL|VISUAL}, 85 {"previous-word", "b", 0, 0, NORMAL|VISUAL}, 86 {"previous-bigword", "B", 0, 0, NORMAL|VISUAL}, 87 {"move-to-line", "G", 0, 0, NORMAL|VISUAL}, 88 {"join-lines", "J", 0, 0, NORMAL}, 89 {"insert-at-beginning", "I", 0, 0, NORMAL}, 90 {"paste-buffer", "p", 0, 0, NORMAL}, 91 {"paste-buffer-backwards", "P", 0, 0, NORMAL}, 92 {"append-after-eol", "A", 0, 0, NORMAL}, 93 {"append-after-cursor", "a", 0, 0, NORMAL}, 94 {"append-line-above", "O", 0, 0, NORMAL}, 95 {"append-line-below", "o", 0, 0, NORMAL}, 96 {"insert-mark", "m", 0, 0, NORMAL|VISUAL}, 97 {"jump-to-mark", "'", 0, 0, NORMAL|VISUAL}, 98 {"change-to-eol", "C", 0, 0, NORMAL}, 99 {"delete-to-eol", "D", 0, 0, NORMAL}, 100 {"replace", "r", 0, 0, NORMAL}, 101 {"cursor-to-first-non-whitespace", "^", 0, 0, NORMAL}, 102 {"find-next-char-forwards", "t", 0, 0, NORMAL|VISUAL}, 103 {"find-next-char-backwards", "T", 0, 0, NORMAL|VISUAL}, 104 {"find-char-forwards", "f", 0, 0, NORMAL|VISUAL}, 105 {"find-char-backwards", "F", 0, 0, NORMAL|VISUAL}, 106 {"insert-text", "", 0, 0, INSERT} 107 }; 108 109 struct { 110 char *func_name; 111 char *text; 112 unsigned int mods; 113 KeySym keysym; 114 command_mode modes; 115 } command_keys_default[] = { 116 {"substitute-yes", "y", 0, 0, CMD_SUBSTITUTE}, 117 {"substitute-yes-all", "Y", 0, 0, CMD_SUBSTITUTE}, 118 {"substitute-no", "n", 0, 0, CMD_SUBSTITUTE}, 119 {"substitute-no-all", "N", 0, 0, CMD_SUBSTITUTE}, 120 {"edit-submit", NULL, XK_ANY_MOD, XK_Return, CMD_EDIT}, 121 {"edit-submit-search", NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCH}, 122 {"edit-submit-backwards-search", NULL, XK_ANY_MOD, XK_Return, CMD_EDITSEARCHB}, 123 {"edit-cursor-left", NULL, 0, XK_Left, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 124 {"edit-cursor-right", NULL, 0, XK_Right, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 125 {"edit-cursor-right", NULL, 0, XK_Right, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 126 {"edit-previous-command", NULL, 0, XK_Up, CMD_EDIT}, 127 {"edit-next-command", NULL, 0, XK_Down, CMD_EDIT}, 128 {"edit-previous-search", NULL, 0, XK_Up, CMD_EDITSEARCH|CMD_EDITSEARCHB}, 129 {"edit-next-search", NULL, 0, XK_Down, CMD_EDITSEARCH|CMD_EDITSEARCHB}, 130 {"edit-backspace", NULL, 0, XK_BackSpace, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 131 {"edit-delete", NULL, 0, XK_Delete, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 132 {"edit-cursor-to-end", NULL, 0, XK_End, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 133 {"edit-cursor-to-beginning", NULL, 0, XK_Home, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 134 {"edit-discard", NULL, 0, XK_Escape, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB}, 135 {"edit-insert-text", "", 0, 0, CMD_EDIT|CMD_EDITSEARCH|CMD_EDITSEARCHB} 136 }; 137 138 struct { 139 char *func_name; 140 char *text; 141 } commands_default[] = { 142 {"write-quit", "wq"}, 143 {"write", "w"}, 144 {"quit", "q"}, 145 {"create-view", "v"}, 146 {"close-view", "c"}, 147 {"substitute", "s"} 148 }; 149 150 /***************************************** 151 * Key and command mapping configuration * 152 *****************************************/ 153 154 struct mapping { 155 char *from; 156 char *to; 157 }; 158 159 struct language_mapping { 160 char *lang; 161 struct mapping *keys; 162 struct mapping *cmds; 163 size_t keys_len; 164 size_t cmds_len; 165 }; 166 167 struct mapping key_mapping_de[] = { 168 {"z", "y"}, 169 {"y", "z"}, 170 {"Z", "Y"}, 171 {"Y", "Z"}, 172 {"Ö", ":"}, 173 {"_", "?"}, 174 {"-", "/"}, 175 {"ä", "'"} 176 }; 177 178 struct language_mapping mappings_default[] = { 179 {"German", key_mapping_de, NULL, LENGTH(key_mapping_de), 0} 180 }; 181 182 #endif /* _KEYS_CONFIG_H_ */