1 /* vifm 2 * Copyright (C) 2016 xaizek. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #ifndef VIFM__MODES__WK_H__ 20 #define VIFM__MODES__WK_H__ 21 22 /* This file provides convenience definitions of keys. 23 * 24 * Abbreviations: 25 * - WK -- Wide Key 26 * - WC -- Wide Character 27 * - NC -- Narrow Character 28 * - _C_ -- Control key 29 * */ 30 31 /* Ctrl+<x>. */ 32 #define WK_C_a L"\x01" 33 #define WK_C_b L"\x02" 34 #define WK_C_c L"\x03" 35 #define WK_C_d L"\x04" 36 #define WK_C_e L"\x05" 37 #define WK_C_f L"\x06" 38 #define WK_C_g L"\x07" 39 #define WK_C_h L"\x08" 40 #define WK_C_i L"\x09" 41 #define WK_C_j L"\x0a" 42 #define WK_C_k L"\x0b" 43 #define WK_C_l L"\x0c" 44 #define WK_C_m L"\x0d" 45 #define WK_C_n L"\x0e" 46 #define WK_C_o L"\x0f" 47 #define WK_C_p L"\x10" 48 #define WK_C_q L"\x11" 49 #define WK_C_r L"\x12" 50 #define WK_C_s L"\x13" 51 #define WK_C_t L"\x14" 52 #define WK_C_u L"\x15" 53 #define WK_C_v L"\x16" 54 #define WK_C_w L"\x17" 55 #define WK_C_x L"\x18" 56 #define WK_C_y L"\x19" 57 #define WK_C_z L"\x1a" 58 #define WK_C_RB L"\x1d" 59 #define WK_C_USCORE L"\x1f" 60 61 /* Non-letter characters and convenience defines. */ 62 #define WK_ALT WK_ESC 63 #define WK_CR WK_C_m 64 #define WK_BAR L"|" 65 #define WK_CARET L"^" 66 #define WK_COLON L":" 67 #define WK_COMMA L"," 68 #define WK_DELETE L"\x7f" 69 #define WK_DOLLAR L"$" 70 #define WK_DOT L"." 71 #define WK_EM L"!" 72 #define WK_EQUALS L"=" 73 #define WK_ESC L"\x1b" 74 #define WK_GT L">" 75 #define WK_LB L"[" 76 #define WK_RB L"]" 77 #define WK_LCB L"{" 78 #define WK_LP L"(" 79 #define WK_LT L"<" 80 #define WK_MINUS L"-" 81 #define WK_PERCENT L"%" 82 #define WK_PLUS L"+" 83 #define WK_QM L"?" 84 #define WK_QUOTE L"'" 85 #define WK_RCB L"}" 86 #define WK_RP L")" 87 #define WK_SCOLON L";" 88 #define WK_SLASH L"/" 89 #define WK_SPACE L" " 90 #define WK_USCORE L"_" 91 #define WK_ZERO L"0" 92 93 /* Upper-case letters. */ 94 #define WK_A L"A" 95 #define WK_B L"B" 96 #define WK_C L"C" 97 #define WK_D L"D" 98 #define WK_E L"E" 99 #define WK_F L"F" 100 #define WK_G L"G" 101 #define WK_H L"H" 102 #define WK_I L"I" 103 #define WK_J L"J" 104 #define WK_K L"K" 105 #define WK_L L"L" 106 #define WK_M L"M" 107 #define WK_N L"N" 108 #define WK_O L"O" 109 #define WK_P L"P" 110 #define WK_Q L"Q" 111 #define WK_R L"R" 112 #define WK_S L"S" 113 #define WK_T L"T" 114 #define WK_U L"U" 115 #define WK_V L"V" 116 #define WK_W L"W" 117 #define WK_X L"X" 118 #define WK_Y L"Y" 119 #define WK_Z L"Z" 120 121 /* Lower-case letters. */ 122 #define WK_a L"a" 123 #define WK_b L"b" 124 #define WK_c L"c" 125 #define WK_d L"d" 126 #define WK_e L"e" 127 #define WK_f L"f" 128 #define WK_g L"g" 129 #define WK_h L"h" 130 #define WK_i L"i" 131 #define WK_j L"j" 132 #define WK_k L"k" 133 #define WK_l L"l" 134 #define WK_m L"m" 135 #define WK_n L"n" 136 #define WK_o L"o" 137 #define WK_p L"p" 138 #define WK_q L"q" 139 #define WK_r L"r" 140 #define WK_s L"s" 141 #define WK_t L"t" 142 #define WK_u L"u" 143 #define WK_v L"v" 144 #define WK_w L"w" 145 #define WK_x L"x" 146 #define WK_y L"y" 147 #define WK_z L"z" 148 149 /* Character form for use in aggregate initializers of wide strings or direct 150 * comparisons. */ 151 #define WC_C_m L'\x0d' 152 #define WC_C_w L'\x17' 153 #define WC_C_z L'\x1a' 154 #define WC_CR WC_C_m 155 #define WC_z L'z' 156 #define NC_C_c '\x03' 157 #define NC_C_w '\x17' 158 #define NC_ESC '\x1b' 159 160 /* Custom keys. */ 161 #define WC_C_SPACE ((wchar_t)((wint_t)0xe000 + 0)) 162 163 #endif /* VIFM__MODES__WK_H__ */ 164 165 /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 noexpandtab cinoptions-=(0 : */ 166 /* vim: set cinoptions+=t0 : */ 167