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// modified by T.Murai 1998
23
24#if !defined(lint) && !defined(__CODECENTER__)
25static char emptymap_id[] = "@(#) 102.1 $Id: emptymap.h 10525 2004-12-23 21:23:50Z korli $";
26#endif /* lint */
27#include "canna.h"
28
29#define NONE CANNA_FN_Undefined
30
31static struct funccfunc empty_funcs[] = {
32  {CANNA_FN_SelfInsert		,EmptySelfInsert	},
33  {CANNA_FN_FunctionalInsert	,EmptyYomiInsert	},
34  {CANNA_FN_QuotedInsert	,EmptyQuotedInsert	},
35  {CANNA_FN_AlphaMode		,AlphaMode		},
36  {CANNA_FN_HenkanNyuryokuMode	,HenkanNyuryokuMode	},
37  {CANNA_FN_KigouMode		,KigoIchiran		},
38  {CANNA_FN_DeletePrevious	,EmptyDeletePrevious	},
39  {CANNA_FN_Kakutei		,EmptyKakutei		},
40  {CANNA_FN_Quit		,EmptyQuit		},
41  {CANNA_FN_ExtendMode		,UiUtilMode		},
42  {CANNA_FN_BaseHiragana	,EmptyBaseHira		},
43  {CANNA_FN_BaseKatakana	,EmptyBaseKata		},
44  {CANNA_FN_BaseKana		,EmptyBaseKana		},
45  {CANNA_FN_BaseEisu		,EmptyBaseEisu		},
46  {CANNA_FN_BaseZenkaku		,EmptyBaseZen		},
47  {CANNA_FN_BaseHankaku		,EmptyBaseHan		},
48  {CANNA_FN_BaseKakutei		,EmptyBaseKakutei	},
49  {CANNA_FN_BaseHenkan		,EmptyBaseHenkan	},
50  {CANNA_FN_BaseHiraKataToggle	,YomiBaseHiraKataToggle	},
51  {CANNA_FN_BaseZenHanToggle	,YomiBaseZenHanToggle	},
52  {CANNA_FN_BaseKanaEisuToggle	,YomiBaseKanaEisuToggle	},
53  {CANNA_FN_BaseKakuteiHenkanToggle ,YomiBaseKakuteiHenkanToggle	},
54  {CANNA_FN_BaseRotateForward	,YomiBaseRotateForw	},
55  {CANNA_FN_BaseRotateBackward	,YomiBaseRotateBack	},
56  {CANNA_FN_FuncSequence	,DoFuncSequence		},
57  {CANNA_FN_TemporalMode	,YomiModeBackup		},
58
59  {CANNA_FN_Nop			,AlphaNop		},
60  {CANNA_FN_UseOtherKeymap	,UseOtherKeymap		},
61  {CANNA_FN_UserMode		,(int (*)(struct _uiContext *))
62                                 ProcExtraFunc		},
63#ifdef WIN
64  {CANNA_FN_DefineDicMode	,dicTouroku		},
65  {CANNA_FN_DeleteDicMode	,dicSakujo		},
66  {CANNA_FN_HenkanRegion	,HenkanRegion		},
67  {CANNA_FN_PhonoEdit		,PhonoEdit		},
68  {CANNA_FN_DicEdit		,DicEdit		},
69  {CANNA_FN_Configure		,Configure		},
70#endif
71
72#ifndef NO_EXTEND_MENU
73#ifndef WIN
74  {CANNA_FN_DefineDicMode	,dicTouroku		},
75  {CANNA_FN_DeleteDicMode	,dicSakujo		},
76#endif
77  {CANNA_FN_HexMode		,HexMode		},
78  {CANNA_FN_BushuMode		,BushuMode		},
79  {CANNA_FN_RussianMode		,kigoRussia		},
80  {CANNA_FN_GreekMode		,kigoGreek		},
81  {CANNA_FN_LineMode		,kigoKeisen		},
82  {CANNA_FN_SyncDic		,dicSync		},
83  {CANNA_FN_DicMountMode	,dicMount		},
84  {CANNA_FN_ChangeServerMode	,serverChange		},
85  {CANNA_FN_DisconnectServer	,serverFin		},
86  {CANNA_FN_ShowServer		,showServer		},
87  {CANNA_FN_ShowGakushu		,showGakushu		},
88  {CANNA_FN_ShowVersion		,showVersion		},
89  {CANNA_FN_ShowPhonogramFile	,showRomkanaFile	},
90  {CANNA_FN_ShowCannaFile	,showInitFile		},
91  {CANNA_FN_EnterChikujiMode	,chikujiInit		},
92  {CANNA_FN_EnterRenbunMode	,renbunInit		},
93#endif
94  {DEFAULTBEHAVIOR		,EmptySelfInsert	},
95  {0				,0			},
96};
97
98BYTE empty_kmap[256] =
99{
100/* C-@ */       CANNA_FN_SelfInsert,
101/* C-a */       CANNA_FN_SelfInsert,
102/* C-b */       CANNA_FN_SelfInsert,
103/* C-c */       CANNA_FN_SelfInsert,
104/* C-d */       CANNA_FN_SelfInsert,
105/* C-e */       CANNA_FN_SelfInsert,
106/* C-f */       CANNA_FN_SelfInsert,
107/* C-g */       CANNA_FN_Quit,
108/* C-h */       CANNA_FN_DeletePrevious,
109/* C-i */       CANNA_FN_SelfInsert,
110/* C-j */       CANNA_FN_Kakutei,
111/* C-k */       CANNA_FN_SelfInsert,
112/* C-l */       CANNA_FN_SelfInsert,
113/* C-m */       CANNA_FN_Kakutei,
114/* C-n */       CANNA_FN_SelfInsert,
115/* C-o */       CANNA_FN_AlphaMode,
116/* C-p */       CANNA_FN_SelfInsert,
117/* C-q */       CANNA_FN_QuotedInsert,
118/* C-r */       CANNA_FN_SelfInsert,
119/* C-s */       CANNA_FN_SelfInsert,
120/* C-t */       CANNA_FN_SelfInsert,
121/* C-u */       CANNA_FN_SelfInsert,
122/* C-v */       CANNA_FN_SelfInsert,
123/* C-w */       CANNA_FN_SelfInsert,
124/* C-x */       CANNA_FN_SelfInsert,
125/* C-y */       CANNA_FN_SelfInsert,
126/* C-z */       CANNA_FN_SelfInsert,
127/* C-[ */       CANNA_FN_SelfInsert,
128/* C-\ */       CANNA_FN_SelfInsert,
129/* C-] */       CANNA_FN_SelfInsert,
130/* C-^ */       CANNA_FN_SelfInsert,
131/* C-_ */       CANNA_FN_SelfInsert,
132/* space */     CANNA_FN_SelfInsert,
133/* ! */         CANNA_FN_FunctionalInsert,
134/* " */         CANNA_FN_FunctionalInsert,
135/* # */         CANNA_FN_FunctionalInsert,
136/* $ */         CANNA_FN_FunctionalInsert,
137/* % */         CANNA_FN_FunctionalInsert,
138/* & */         CANNA_FN_FunctionalInsert,
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/* 0 */         CANNA_FN_FunctionalInsert,
149/* 1 */         CANNA_FN_FunctionalInsert,
150/* 2 */         CANNA_FN_FunctionalInsert,
151/* 3 */         CANNA_FN_FunctionalInsert,
152/* 4 */         CANNA_FN_FunctionalInsert,
153/* 5 */         CANNA_FN_FunctionalInsert,
154/* 6 */         CANNA_FN_FunctionalInsert,
155/* 7 */         CANNA_FN_FunctionalInsert,
156/* 8 */         CANNA_FN_FunctionalInsert,
157/* 9 */         CANNA_FN_FunctionalInsert,
158/*   : */       CANNA_FN_FunctionalInsert,
159/* ; */         CANNA_FN_FunctionalInsert,
160/* < */         CANNA_FN_FunctionalInsert,
161/* = */         CANNA_FN_FunctionalInsert,
162/* > */         CANNA_FN_FunctionalInsert,
163/* ? */         CANNA_FN_FunctionalInsert,
164/* @ */         CANNA_FN_FunctionalInsert,
165/* A */         CANNA_FN_FunctionalInsert,
166/* B */         CANNA_FN_FunctionalInsert,
167/* C */         CANNA_FN_FunctionalInsert,
168/* D */         CANNA_FN_FunctionalInsert,
169/* E */         CANNA_FN_FunctionalInsert,
170/* F */         CANNA_FN_FunctionalInsert,
171/* G */         CANNA_FN_FunctionalInsert,
172/* H */         CANNA_FN_FunctionalInsert,
173/* I */         CANNA_FN_FunctionalInsert,
174/* J */         CANNA_FN_FunctionalInsert,
175/* K */         CANNA_FN_FunctionalInsert,
176/* L */         CANNA_FN_FunctionalInsert,
177/* M */         CANNA_FN_FunctionalInsert,
178/* N */         CANNA_FN_FunctionalInsert,
179/* O */         CANNA_FN_FunctionalInsert,
180/* P */         CANNA_FN_FunctionalInsert,
181/* Q */         CANNA_FN_FunctionalInsert,
182/* R */         CANNA_FN_FunctionalInsert,
183/* S */         CANNA_FN_FunctionalInsert,
184/* T */         CANNA_FN_FunctionalInsert,
185/* U */         CANNA_FN_FunctionalInsert,
186/* V */         CANNA_FN_FunctionalInsert,
187/* W */         CANNA_FN_FunctionalInsert,
188/* X */         CANNA_FN_FunctionalInsert,
189/* Y */         CANNA_FN_FunctionalInsert,
190/* Z */         CANNA_FN_FunctionalInsert,
191/* [ */         CANNA_FN_FunctionalInsert,
192/* \ */         CANNA_FN_FunctionalInsert,
193/* ] */         CANNA_FN_FunctionalInsert,
194/* ^ */         CANNA_FN_FunctionalInsert,
195/* _ */         CANNA_FN_FunctionalInsert,
196/* ` */         CANNA_FN_FunctionalInsert,
197/* a */         CANNA_FN_FunctionalInsert,
198/* b */         CANNA_FN_FunctionalInsert,
199/* c */         CANNA_FN_FunctionalInsert,
200/* d */         CANNA_FN_FunctionalInsert,
201/* e */         CANNA_FN_FunctionalInsert,
202/* f */         CANNA_FN_FunctionalInsert,
203/* g */         CANNA_FN_FunctionalInsert,
204/* h */         CANNA_FN_FunctionalInsert,
205/* i */         CANNA_FN_FunctionalInsert,
206/* j */         CANNA_FN_FunctionalInsert,
207/* k */         CANNA_FN_FunctionalInsert,
208/* l */         CANNA_FN_FunctionalInsert,
209/* m */         CANNA_FN_FunctionalInsert,
210/* n */         CANNA_FN_FunctionalInsert,
211/* o */         CANNA_FN_FunctionalInsert,
212/* p */         CANNA_FN_FunctionalInsert,
213/* q */         CANNA_FN_FunctionalInsert,
214/* r */         CANNA_FN_FunctionalInsert,
215/* s */         CANNA_FN_FunctionalInsert,
216/* t */         CANNA_FN_FunctionalInsert,
217/* u */         CANNA_FN_FunctionalInsert,
218/* v */         CANNA_FN_FunctionalInsert,
219/* w */         CANNA_FN_FunctionalInsert,
220/* x */         CANNA_FN_FunctionalInsert,
221/* y */         CANNA_FN_FunctionalInsert,
222/* z */         CANNA_FN_FunctionalInsert,
223/* { */         CANNA_FN_FunctionalInsert,
224/* | */         CANNA_FN_FunctionalInsert,
225/* } */         CANNA_FN_FunctionalInsert,
226/* ~ */         CANNA_FN_FunctionalInsert,
227/* DEL */       CANNA_FN_SelfInsert,
228/* Nfer */      CANNA_FN_Kakutei,
229/* Xfer */      CANNA_FN_AlphaMode,
230/* Up */        NONE,
231/* Left */      NONE,
232/* Right */     NONE,
233/* Down */      NONE,
234/* Insert */    CANNA_FN_KigouMode,
235/* Rollup */    NONE,
236/* Rolldown */  NONE,
237#ifdef WIN
238/* Home */      NONE,
239/* Help */      NONE,
240#else
241/* Home */      CANNA_FN_ExtendMode,
242/* Help */      CANNA_FN_ExtendMode,
243#endif
244/* KeyPad */    NONE,
245/* 8c */        NONE,
246/* 8d */        NONE,
247/* 8e */        NONE,
248/* 8f */        NONE,
249/* S-nfer */    NONE,
250/* S-xfer */    CANNA_FN_AlphaMode,
251/* S-up */      NONE,
252/* S-left */    NONE,
253/* S-right */   NONE,
254/* S-down */    NONE,
255/* C-nfer */    NONE,
256/* C-xfer */    CANNA_FN_AlphaMode,
257/* C-up */      NONE,
258/* C-left */    NONE,
259/* C-right */   NONE,
260/* C-down */    NONE,
261/* 9c */        NONE,
262/* 9d */        NONE,
263/* 9e */        NONE,
264/* 9f */        NONE,
265/* KANASPACE */ NONE,
266/* ¡£ */        CANNA_FN_FunctionalInsert,
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/* F1 */        NONE,
330/* F2 */        NONE,
331/* F3 */        NONE,
332/* F4 */        NONE,
333/* F5 */        NONE,
334/* F6 */        NONE,
335/* F7 */        NONE,
336/* F8 */        NONE,
337/* F9 */        NONE,
338/* F10 */       NONE,
339/* ea */        NONE,
340/* eb */        NONE,
341/* ec */        NONE,
342/* ed */        NONE,
343/* ee */        NONE,
344/* ef */        NONE,
345/* PF1 */       NONE,
346/* PF2 */       NONE,
347/* PF3 */       NONE,
348/* PF4 */       NONE,
349/* PF5 */       NONE,
350/* PF6 */       NONE,
351/* PF7 */       NONE,
352/* PF8 */       NONE,
353/* PF9 */       NONE,
354/* PF10 */      NONE,
355/* fa */        NONE,
356/* fb */        NONE,
357/* fc */        NONE,
358/* fd */        NONE,
359/* fe */        NONE,
360/* ff */        NONE,
361};
362
363KanjiModeRec empty_mode = {
364  searchfunc,
365  empty_kmap,
366  CANNA_KANJIMODE_TABLE_SHARED | CANNA_KANJIMODE_EMPTY_MODE,
367  empty_funcs,
368};
369