1 /* Copyright 1992 NEC Corporation, Tokyo, Japan. 2 * 3 * Permission to use, copy, modify, distribute and sell this software 4 * and its documentation for any purpose is hereby granted without 5 * fee, provided that the above copyright notice appear in all copies 6 * and that both that copyright notice and this permission notice 7 * appear in supporting documentation, and that the name of NEC 8 * Corporation not be used in advertising or publicity pertaining to 9 * distribution of the software without specific, written prior 10 * permission. NEC Corporation makes no representations about the 11 * suitability of this software for any purpose. It is provided "as 12 * is" without express or implied warranty. 13 * 14 * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 16 * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR 17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 18 * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 19 * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 20 * PERFORMANCE OF THIS SOFTWARE. 21 */ 22 23 #if !defined(lint) && !defined(__CODECENTER__) 24 static char emptymap_id[] = "@(#) 102.1 $Id: emptymap.h,v 1.3 2003/09/17 08:50:53 aida_s Exp $"; 25 #endif /* lint */ 26 27 extern AlphaMode(), HenkanNyuryokuMode(), ZenHiraKakuteiMode(); 28 extern ZenKataKakuteiMode(), HanKataKakuteiMode(), ZenAlphaKakuteiMode(); 29 extern HanAlphaKakuteiMode(), KigoIchiran(); 30 #ifndef NO_EXTEND_MENU 31 extern HexMode(), BushuMode(); 32 #endif 33 extern KigoIchiran(), UiUtilMode(); 34 extern YomiBaseHiraKataToggle(), YomiBaseZenHanToggle(); 35 extern YomiBaseKanaEisuToggle(), YomiBaseKakuteiHenkanToggle(); 36 extern YomiBaseRotateForw(), YomiBaseRotateBack(); 37 extern DoFuncSequence(),UseOtherKeymap(), YomiModeBackup(); 38 extern dicTouroku pro((uiContext)), dicSakujo pro((uiContext)); 39 #ifndef NO_EXTEND_MENU 40 extern kigoRussia(), kigoGreek(), kigoKeisen(); 41 extern dicMount(), serverChange(), serverFin(); 42 extern chikujiInit(); 43 #endif 44 45 #define NONE CANNA_FN_Undefined 46 47 static struct funccfunc empty_funcs[] = { 48 {CANNA_FN_SelfInsert ,EmptySelfInsert }, 49 {CANNA_FN_FunctionalInsert ,EmptyYomiInsert }, 50 {CANNA_FN_QuotedInsert ,EmptyQuotedInsert }, 51 {CANNA_FN_AlphaMode ,AlphaMode }, 52 {CANNA_FN_HenkanNyuryokuMode ,HenkanNyuryokuMode }, 53 {CANNA_FN_KigouMode ,KigoIchiran }, 54 {CANNA_FN_DeletePrevious ,EmptyDeletePrevious }, 55 {CANNA_FN_Kakutei ,EmptyKakutei }, 56 {CANNA_FN_Quit ,EmptyQuit }, 57 {CANNA_FN_ExtendMode ,UiUtilMode }, 58 {CANNA_FN_BaseHiragana ,EmptyBaseHira }, 59 {CANNA_FN_BaseKatakana ,EmptyBaseKata }, 60 {CANNA_FN_BaseKana ,EmptyBaseKana }, 61 {CANNA_FN_BaseEisu ,EmptyBaseEisu }, 62 {CANNA_FN_BaseZenkaku ,EmptyBaseZen }, 63 {CANNA_FN_BaseHankaku ,EmptyBaseHan }, 64 {CANNA_FN_BaseKakutei ,EmptyBaseKakutei }, 65 {CANNA_FN_BaseHenkan ,EmptyBaseHenkan }, 66 {CANNA_FN_BaseHiraKataToggle ,YomiBaseHiraKataToggle }, 67 {CANNA_FN_BaseZenHanToggle ,YomiBaseZenHanToggle }, 68 {CANNA_FN_BaseKanaEisuToggle ,YomiBaseKanaEisuToggle }, 69 {CANNA_FN_BaseKakuteiHenkanToggle ,YomiBaseKakuteiHenkanToggle }, 70 {CANNA_FN_BaseRotateForward ,YomiBaseRotateForw }, 71 {CANNA_FN_BaseRotateBackward ,YomiBaseRotateBack }, 72 {CANNA_FN_FuncSequence ,DoFuncSequence }, 73 {CANNA_FN_TemporalMode ,YomiModeBackup }, 74 75 {CANNA_FN_Nop ,AlphaNop }, 76 {CANNA_FN_UseOtherKeymap ,UseOtherKeymap }, 77 {CANNA_FN_UserMode ,(int (*) pro((struct _uiContext *))) 78 ProcExtraFunc }, 79 80 #ifndef NO_EXTEND_MENU 81 {CANNA_FN_DefineDicMode ,dicTouroku }, 82 {CANNA_FN_DeleteDicMode ,dicSakujo }, 83 {CANNA_FN_HexMode ,HexMode }, 84 {CANNA_FN_BushuMode ,BushuMode }, 85 {CANNA_FN_RussianMode ,kigoRussia }, 86 {CANNA_FN_GreekMode ,kigoGreek }, 87 {CANNA_FN_LineMode ,kigoKeisen }, 88 {CANNA_FN_SyncDic ,dicSync }, 89 {CANNA_FN_DicMountMode ,dicMount }, 90 {CANNA_FN_ChangeServerMode ,serverChange }, 91 {CANNA_FN_DisconnectServer ,serverFin }, 92 {CANNA_FN_ShowServer ,showServer }, 93 {CANNA_FN_ShowGakushu ,showGakushu }, 94 {CANNA_FN_ShowVersion ,showVersion }, 95 {CANNA_FN_ShowPhonogramFile ,showRomkanaFile }, 96 {CANNA_FN_ShowCannaFile ,showInitFile }, 97 {CANNA_FN_EnterChikujiMode ,chikujiInit }, 98 {CANNA_FN_EnterRenbunMode ,renbunInit }, 99 #endif 100 {DEFAULTBEHAVIOR ,EmptySelfInsert }, 101 {0 ,0 }, 102 }; 103 104 BYTE empty_kmap[256] = 105 { 106 /* C-@ */ CANNA_FN_SelfInsert, 107 /* C-a */ CANNA_FN_SelfInsert, 108 /* C-b */ CANNA_FN_SelfInsert, 109 /* C-c */ CANNA_FN_SelfInsert, 110 /* C-d */ CANNA_FN_SelfInsert, 111 /* C-e */ CANNA_FN_SelfInsert, 112 /* C-f */ CANNA_FN_SelfInsert, 113 /* C-g */ CANNA_FN_Quit, 114 /* C-h */ CANNA_FN_DeletePrevious, 115 /* C-i */ CANNA_FN_SelfInsert, 116 /* C-j */ CANNA_FN_Kakutei, 117 /* C-k */ CANNA_FN_SelfInsert, 118 /* C-l */ CANNA_FN_SelfInsert, 119 /* C-m */ CANNA_FN_Kakutei, 120 /* C-n */ CANNA_FN_SelfInsert, 121 /* C-o */ CANNA_FN_AlphaMode, 122 /* C-p */ CANNA_FN_SelfInsert, 123 /* C-q */ CANNA_FN_QuotedInsert, 124 /* C-r */ CANNA_FN_SelfInsert, 125 /* C-s */ CANNA_FN_SelfInsert, 126 /* C-t */ CANNA_FN_SelfInsert, 127 /* C-u */ CANNA_FN_SelfInsert, 128 /* C-v */ CANNA_FN_SelfInsert, 129 /* C-w */ CANNA_FN_SelfInsert, 130 /* C-x */ CANNA_FN_SelfInsert, 131 /* C-y */ CANNA_FN_SelfInsert, 132 /* C-z */ CANNA_FN_SelfInsert, 133 /* C-[ */ CANNA_FN_SelfInsert, 134 /* C-\ */ CANNA_FN_SelfInsert, 135 /* C-] */ CANNA_FN_SelfInsert, 136 /* C-^ */ CANNA_FN_SelfInsert, 137 /* C-_ */ CANNA_FN_SelfInsert, 138 /* space */ CANNA_FN_SelfInsert, 139 /* ! */ CANNA_FN_FunctionalInsert, 140 /* " */ CANNA_FN_FunctionalInsert, 141 /* # */ CANNA_FN_FunctionalInsert, 142 /* $ */ CANNA_FN_FunctionalInsert, 143 /* % */ CANNA_FN_FunctionalInsert, 144 /* & */ CANNA_FN_FunctionalInsert, 145 /* ' */ CANNA_FN_FunctionalInsert, 146 /* ( */ CANNA_FN_FunctionalInsert, 147 /* ) */ CANNA_FN_FunctionalInsert, 148 /* * */ CANNA_FN_FunctionalInsert, 149 /* + */ CANNA_FN_FunctionalInsert, 150 /* , */ CANNA_FN_FunctionalInsert, 151 /* - */ CANNA_FN_FunctionalInsert, 152 /* . */ CANNA_FN_FunctionalInsert, 153 /* / */ CANNA_FN_FunctionalInsert, 154 /* 0 */ CANNA_FN_FunctionalInsert, 155 /* 1 */ CANNA_FN_FunctionalInsert, 156 /* 2 */ CANNA_FN_FunctionalInsert, 157 /* 3 */ CANNA_FN_FunctionalInsert, 158 /* 4 */ CANNA_FN_FunctionalInsert, 159 /* 5 */ CANNA_FN_FunctionalInsert, 160 /* 6 */ CANNA_FN_FunctionalInsert, 161 /* 7 */ CANNA_FN_FunctionalInsert, 162 /* 8 */ CANNA_FN_FunctionalInsert, 163 /* 9 */ CANNA_FN_FunctionalInsert, 164 /* : */ CANNA_FN_FunctionalInsert, 165 /* ; */ CANNA_FN_FunctionalInsert, 166 /* < */ CANNA_FN_FunctionalInsert, 167 /* = */ CANNA_FN_FunctionalInsert, 168 /* > */ CANNA_FN_FunctionalInsert, 169 /* ? */ CANNA_FN_FunctionalInsert, 170 /* @ */ CANNA_FN_FunctionalInsert, 171 /* A */ CANNA_FN_FunctionalInsert, 172 /* B */ CANNA_FN_FunctionalInsert, 173 /* C */ CANNA_FN_FunctionalInsert, 174 /* D */ CANNA_FN_FunctionalInsert, 175 /* E */ CANNA_FN_FunctionalInsert, 176 /* F */ CANNA_FN_FunctionalInsert, 177 /* G */ CANNA_FN_FunctionalInsert, 178 /* H */ CANNA_FN_FunctionalInsert, 179 /* I */ CANNA_FN_FunctionalInsert, 180 /* J */ CANNA_FN_FunctionalInsert, 181 /* K */ CANNA_FN_FunctionalInsert, 182 /* L */ CANNA_FN_FunctionalInsert, 183 /* M */ CANNA_FN_FunctionalInsert, 184 /* N */ CANNA_FN_FunctionalInsert, 185 /* O */ CANNA_FN_FunctionalInsert, 186 /* P */ CANNA_FN_FunctionalInsert, 187 /* Q */ CANNA_FN_FunctionalInsert, 188 /* R */ CANNA_FN_FunctionalInsert, 189 /* S */ CANNA_FN_FunctionalInsert, 190 /* T */ CANNA_FN_FunctionalInsert, 191 /* U */ CANNA_FN_FunctionalInsert, 192 /* V */ CANNA_FN_FunctionalInsert, 193 /* W */ CANNA_FN_FunctionalInsert, 194 /* X */ CANNA_FN_FunctionalInsert, 195 /* Y */ CANNA_FN_FunctionalInsert, 196 /* Z */ CANNA_FN_FunctionalInsert, 197 /* [ */ CANNA_FN_FunctionalInsert, 198 /* \ */ CANNA_FN_FunctionalInsert, 199 /* ] */ CANNA_FN_FunctionalInsert, 200 /* ^ */ CANNA_FN_FunctionalInsert, 201 /* _ */ CANNA_FN_FunctionalInsert, 202 /* ` */ CANNA_FN_FunctionalInsert, 203 /* a */ CANNA_FN_FunctionalInsert, 204 /* b */ CANNA_FN_FunctionalInsert, 205 /* c */ CANNA_FN_FunctionalInsert, 206 /* d */ CANNA_FN_FunctionalInsert, 207 /* e */ CANNA_FN_FunctionalInsert, 208 /* f */ CANNA_FN_FunctionalInsert, 209 /* g */ CANNA_FN_FunctionalInsert, 210 /* h */ CANNA_FN_FunctionalInsert, 211 /* i */ CANNA_FN_FunctionalInsert, 212 /* j */ CANNA_FN_FunctionalInsert, 213 /* k */ CANNA_FN_FunctionalInsert, 214 /* l */ CANNA_FN_FunctionalInsert, 215 /* m */ CANNA_FN_FunctionalInsert, 216 /* n */ CANNA_FN_FunctionalInsert, 217 /* o */ CANNA_FN_FunctionalInsert, 218 /* p */ CANNA_FN_FunctionalInsert, 219 /* q */ CANNA_FN_FunctionalInsert, 220 /* r */ CANNA_FN_FunctionalInsert, 221 /* s */ CANNA_FN_FunctionalInsert, 222 /* t */ CANNA_FN_FunctionalInsert, 223 /* u */ CANNA_FN_FunctionalInsert, 224 /* v */ CANNA_FN_FunctionalInsert, 225 /* w */ CANNA_FN_FunctionalInsert, 226 /* x */ CANNA_FN_FunctionalInsert, 227 /* y */ CANNA_FN_FunctionalInsert, 228 /* z */ CANNA_FN_FunctionalInsert, 229 /* { */ CANNA_FN_FunctionalInsert, 230 /* | */ CANNA_FN_FunctionalInsert, 231 /* } */ CANNA_FN_FunctionalInsert, 232 /* ~ */ CANNA_FN_FunctionalInsert, 233 /* DEL */ CANNA_FN_SelfInsert, 234 /* Nfer */ CANNA_FN_Kakutei, 235 /* Xfer */ CANNA_FN_AlphaMode, 236 /* Up */ NONE, 237 /* Left */ NONE, 238 /* Right */ NONE, 239 /* Down */ NONE, 240 /* Insert */ CANNA_FN_KigouMode, 241 /* Rollup */ NONE, 242 /* Rolldown */ NONE, 243 /* Home */ CANNA_FN_ExtendMode, 244 /* Help */ CANNA_FN_ExtendMode, 245 /* KeyPad */ NONE, 246 /* 8c */ NONE, 247 /* 8d */ NONE, 248 /* 8e */ NONE, 249 /* 8f */ NONE, 250 /* S-nfer */ NONE, 251 /* S-xfer */ CANNA_FN_AlphaMode, 252 /* S-up */ NONE, 253 /* S-left */ NONE, 254 /* S-right */ NONE, 255 /* S-down */ NONE, 256 /* C-nfer */ NONE, 257 /* C-xfer */ CANNA_FN_AlphaMode, 258 /* C-up */ NONE, 259 /* C-left */ NONE, 260 /* C-right */ NONE, 261 /* C-down */ NONE, 262 /* 9c */ NONE, 263 /* 9d */ NONE, 264 /* 9e */ NONE, 265 /* 9f */ NONE, 266 /* KANASPACE */ NONE, 267 /* �� */ CANNA_FN_FunctionalInsert, 268 /* �� */ CANNA_FN_FunctionalInsert, 269 /* �� */ CANNA_FN_FunctionalInsert, 270 /* �� */ CANNA_FN_FunctionalInsert, 271 /* �� */ CANNA_FN_FunctionalInsert, 272 /* �� */ CANNA_FN_FunctionalInsert, 273 /* �� */ CANNA_FN_FunctionalInsert, 274 /* �� */ CANNA_FN_FunctionalInsert, 275 /* �� */ CANNA_FN_FunctionalInsert, 276 /* �� */ CANNA_FN_FunctionalInsert, 277 /* �� */ CANNA_FN_FunctionalInsert, 278 /* �� */ CANNA_FN_FunctionalInsert, 279 /* �� */ CANNA_FN_FunctionalInsert, 280 /* �� */ CANNA_FN_FunctionalInsert, 281 /* �� */ CANNA_FN_FunctionalInsert, 282 /* �� */ CANNA_FN_FunctionalInsert, 283 /* �� */ CANNA_FN_FunctionalInsert, 284 /* �� */ CANNA_FN_FunctionalInsert, 285 /* �� */ CANNA_FN_FunctionalInsert, 286 /* �� */ CANNA_FN_FunctionalInsert, 287 /* �� */ CANNA_FN_FunctionalInsert, 288 /* �� */ CANNA_FN_FunctionalInsert, 289 /* �� */ CANNA_FN_FunctionalInsert, 290 /* �� */ CANNA_FN_FunctionalInsert, 291 /* �� */ CANNA_FN_FunctionalInsert, 292 /* �� */ CANNA_FN_FunctionalInsert, 293 /* �� */ CANNA_FN_FunctionalInsert, 294 /* �� */ CANNA_FN_FunctionalInsert, 295 /* �� */ CANNA_FN_FunctionalInsert, 296 /* �� */ CANNA_FN_FunctionalInsert, 297 /* �� */ CANNA_FN_FunctionalInsert, 298 /* �� */ CANNA_FN_FunctionalInsert, 299 /* �� */ CANNA_FN_FunctionalInsert, 300 /* �� */ CANNA_FN_FunctionalInsert, 301 /* �� */ CANNA_FN_FunctionalInsert, 302 /* �� */ CANNA_FN_FunctionalInsert, 303 /* �� */ CANNA_FN_FunctionalInsert, 304 /* �� */ CANNA_FN_FunctionalInsert, 305 /* �� */ CANNA_FN_FunctionalInsert, 306 /* �� */ CANNA_FN_FunctionalInsert, 307 /* �� */ CANNA_FN_FunctionalInsert, 308 /* �� */ CANNA_FN_FunctionalInsert, 309 /* �� */ CANNA_FN_FunctionalInsert, 310 /* �� */ CANNA_FN_FunctionalInsert, 311 /* �� */ CANNA_FN_FunctionalInsert, 312 /* �� */ CANNA_FN_FunctionalInsert, 313 /* �� */ CANNA_FN_FunctionalInsert, 314 /* �� */ CANNA_FN_FunctionalInsert, 315 /* �� */ CANNA_FN_FunctionalInsert, 316 /* �� */ CANNA_FN_FunctionalInsert, 317 /* �� */ CANNA_FN_FunctionalInsert, 318 /* �� */ CANNA_FN_FunctionalInsert, 319 /* �� */ CANNA_FN_FunctionalInsert, 320 /* �� */ CANNA_FN_FunctionalInsert, 321 /* �� */ CANNA_FN_FunctionalInsert, 322 /* �� */ CANNA_FN_FunctionalInsert, 323 /* �� */ CANNA_FN_FunctionalInsert, 324 /* �� */ CANNA_FN_FunctionalInsert, 325 /* �� */ CANNA_FN_FunctionalInsert, 326 /* �� */ CANNA_FN_FunctionalInsert, 327 /* �� */ CANNA_FN_FunctionalInsert, 328 /* �� */ CANNA_FN_FunctionalInsert, 329 /* �� */ CANNA_FN_FunctionalInsert, 330 /* F1 */ NONE, 331 /* F2 */ NONE, 332 /* F3 */ NONE, 333 /* F4 */ NONE, 334 /* F5 */ NONE, 335 /* F6 */ NONE, 336 /* F7 */ NONE, 337 /* F8 */ NONE, 338 /* F9 */ NONE, 339 /* F10 */ NONE, 340 /* ea */ NONE, 341 /* eb */ NONE, 342 /* ec */ NONE, 343 /* ed */ NONE, 344 /* ee */ NONE, 345 /* ef */ NONE, 346 /* PF1 */ NONE, 347 /* PF2 */ NONE, 348 /* PF3 */ NONE, 349 /* PF4 */ NONE, 350 /* PF5 */ NONE, 351 /* PF6 */ NONE, 352 /* PF7 */ NONE, 353 /* PF8 */ NONE, 354 /* PF9 */ NONE, 355 /* PF10 */ NONE, 356 /* fa */ NONE, 357 /* fb */ NONE, 358 /* fc */ NONE, 359 /* fd */ NONE, 360 /* fe */ NONE, 361 /* ff */ NONE, 362 }; 363 364 KanjiModeRec empty_mode = { 365 searchfunc, 366 empty_kmap, 367 CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE, 368 empty_funcs, 369 }; 370