# touchkeysip # 2007 Hiroyuki Ogasawara # http://hp.vector.co.jp/authors/VA004474/ # http://dench.flatlib.jp/ # Total Keyboard 1.8 (UNICODE) # 2009 insurface Design # http://blog.naver.com/in850430/ # insurface@nate.com define RELEASE_TUM 2000 # ÇÑ±Û ÀÔ·Â À¯È¿ ½Ã°£ define GESTURE_RNG 40 # Á¦½ºÃ³ ÀÎ½Ä ¹üÀ§ define INPUT_START 300 # ÀÔ·Â ½ÃÀÛ ½Ã°£ define INPUT_REPET 100 # ÀÔ·Â ¹Ýº¹ ¼Óµµ define POPUP_ALPHA 150 # Æ˾÷ Åõ¸íµµ define POPUP_START 200 # Æ˾÷ ½ÃÀÛ ½Ã°£ define POPUP_POSIT 2 # Æ˾÷ À§Ä¡(0:¿ø·¡ Å°, 2:¼Õ°¡¶ô µû¶ó°¨) define SIP_HEIGHTP 152 # Å°º¸µå ³ôÀÌ(M495X »ç¿ëÀÚ´Â 158 or 130) define SIP_HEIGHTL 128 # °¡·Î¸ðµå ½Ã Å°º¸µå ³ôÀÌ define KW 48 define KH 40 define MW 48 define MH 40 define KIX 288 define GIX 288 define X0 0 define X1 48 define X2 96 define X3 144 define X4 192 define X5 240 define Y0 0 define Y1 40 define Y2 80 define Y3 120 define Y4 160 define Y5 200 enum 0 edef IMG_NO0 edef IMG_NO1 edef IMG_NO2 edef IMG_HAN edef IMG_ENG edef IMG_SPC edef IMG_NAV edef IMG_SHIFT edef IMG_CAPS edef IMG_SLEFT edef IMG_SRIGHT edef IMG_DEL edef IMG_ENTER edef IMG_TAB edef IMG_STAB edef IMG_UNDO edef IMG_NUM edef IMG_ALL edef IMG_SPACE edef IMG_COPY edef IMG_PASTE edef IMG_CUT edef IMG_HANJA edef IMG_CLEAR edef IMG_HOME edef IMG_END edef IMG_PGUP edef IMG_PGDN edef IMG_LEFT edef IMG_RIGHT edef IMG_UP edef IMG_DOWN enum 0 edef CMP_EQ edef CMP_NE edef CMP_LT edef CMP_LE edef CMP_GT edef CMP_GE define SETV 0x08 define SETA 0x0900 define CALL 0x0a00 define _SYSCAL 0x0b01 define SCALL 0x0c00 define LOCAL 0x0d define RETURN 0x0e00 define IF 0x10 define CMP 0x10 define THEN 0x1100 define ELSE 0x1200 define ENDIF 0x1300 define DO 0x1400 define WHILE 0x1500 enum 0x17 edef ADD edef SUB edef MUL edef DIV edef MOD edef AND edef OR edef XOR edef NEG edef NOT edef SHL edef SHR enum 0x41 edef ARG0 edef ARG1 edef ARG2 edef ARG3 edef ARG4 edef ARG5 enum 0x80 edef GW_STATE edef GW_RETVAL0 edef GW_RETVAL1 edef GW_RETVAL2 edef GW_RETVAL3 edef GW_RETVAL4 enum 0 edef DLTYPE_OFF edef DLTYPE_COPY edef DLTYPE_REVERSE edef DLTYPE_STRETCH edef DLTYPE_ALPHA enum 0 edef EVENT_NONE edef EVENT_DOWN edef EVENT_UP edef EVENT_MOVE enum 0 edef BMP0 enum 0 edef WIN_MAIN edef WIN_1 edef WIN_2 edef WIN_3 edef WIN_4 enum _SYSCAL edef SetPanelSize edef LoadBitmap edef SetDisplayList edef DrawDisplayList edef SetEventTable edef SendVirtual edef SendChar edef SendString edef PrintFormat edef ReadTable edef OpenWindow edef CloseWindow edef SetWindowDisplayList edef MoveWindow edef ResizeWindow edef GetScreenPos edef SetScale edef GetScreenSize edef SetImageScale edef SetTimer define KEYEVENTF_SILENT 4 define KEYEVENTF_KEYDOWN 0 define KEYEVENTF_KEYUP 2 define KEYEVENTF_SKEYDOWN 4 define KEYEVENTF_SKEYUP 6 define VK_BACK 0x08 define VK_TAB 0x09 define VK_ENTER 0x0d define VK_SHIFT 0x10 define VK_CTRL 0x11 define VK_HANJA 0x19 define VK_ESC 0x1b define VK_SPACE 0x20 define VK_PGUP 0x21 define VK_PGDN 0x22 define VK_END 0x23 define VK_HOME 0x24 define VK_LEFT 0x25 define VK_UP 0x26 define VK_RIGHT 0x27 define VK_DOWN 0x28 define VK_DEL 0x2e define VK_WIN 0x5b define CHO_GI 0x0401 define CHO_GG 0x0402 define CHO_NI 0x0403 define CHO_DI 0x0404 define CHO_DD 0x0405 define CHO_LI 0x0406 define CHO_MI 0x0407 define CHO_BI 0x0408 define CHO_BB 0x0409 define CHO_SI 0x040a define CHO_SS 0x040b define CHO_EI 0x040c define CHO_JI 0x040d define CHO_JJ 0x040e define CHO_CHI 0x040f define CHO_KI 0x0410 define CHO_TI 0x0411 define CHO_PI 0x0412 define CHO_HI 0x0413 define JUN_A 0x0414 define JUN_AE 0x0415 define JUN_YA 0x0416 define JUN_YAE 0x0417 define JUN_EO 0x0418 define JUN_E 0x0419 define JUN_YEO 0x041a define JUN_YE 0x041b define JUN_O 0x041c define JUN_WA 0x041d define JUN_WAE 0x041e define JUN_OE 0x041f define JUN_YO 0x0420 define JUN_U 0x0421 define JUN_WO 0x0422 define JUN_WE 0x0423 define JUN_WI 0x0424 define JUN_YOU 0x0425 define JUN_EU 0x0426 define JUN_UI 0x0427 define JUN_I 0x0428 define JON_NO 0x0429 define JON_GI 0x042a define JON_GG 0x042b define JON_GS 0x042c define JON_NI 0x042d define JON_NJ 0x042e define JON_NH 0x042f define JON_DI 0x0430 define JON_LI 0x0431 define JON_LG 0x0432 define JON_LM 0x0433 define JON_LB 0x0434 define JON_LS 0x0435 define JON_LT 0x0436 define JON_LP 0x0437 define JON_LH 0x0438 define JON_MI 0x0439 define JON_BI 0x043a define JON_BS 0x043b define JON_SI 0x043c define JON_SS 0x043d define JON_EI 0x043e define JON_JI 0x043f define JON_CHI 0x0440 define JON_KI 0x0441 define JON_TI 0x0442 define JON_PI 0x0443 define JON_HI 0x0444 enum 0x90 edef GW_PX edef GW_PY enum 0 edef _FuncError edef EventSelect edef EventDeselect edef EventTimer edef EventRotate func _FuncError endfunc define VK 0x00ff define SHIFT 0x5000 define CTRL 0x6000 enum 0x40 edef F_NIL edef F_BMP edef F_CLICK edef F_TIMER edef F_TIMERE edef F_RESET edef F_RESIZE edef F_POP edef F_PANEL edef F_HISTORY edef F_HISTORY_FIX edef F_HISTORY_FIXBS edef F_STATUS edef F_SHIFT edef F_NUM edef F_BACK edef F_ONE edef F_SEND edef F_CHAR edef F_BSCHAR edef F_ENG edef F_BUILD edef F_NOBUILD edef F_TIMEOUT edef F_UNICODE_GI edef F_UNICODE_NI edef F_UNICODE_LI edef F_UNICODE_MI edef F_UNICODE_SI edef F_UNICODE_EI edef F_TRANS_1 edef F_TRANS_2 edef F_TRANS_A edef F_TRANS_EO edef F_TRANS_O edef F_TRANS_U edef F_TRANS_EU edef F_TRANS_I edef F_BI_HANJA edef F_EI_HANJA edef F_PI_HANJA edef F_CLEAR edef F_MENUDOWN edef F_MENUMOVE edef F_MENUDISP edef F_MENUENBL edef F_MAKEGUIDE edef F_MENUGUIDE edef F_MENUHOLD edef F_MENUUP edef F_MENUCLOSE1 edef F_MENUCLOSE2 edef F_MENUCANCEL edef F_MENUEXEC edef DT_PANEL edef DT_POPUP edef DT_MENUI edef PL_HAN edef PL_ENG edef PL_SPC edef PL_NAV edef MT_PANEL edef MT_PGUP edef MT_PGDN edef MT_DEL edef MT_ESC edef MT_HOME edef MT_END edef MT_WIN edef MT_COPY edef MT_PASTE edef MT_CUT edef MT_ALL edef MT_SPACE edef MT_MOD edef MT_NUM edef MT_BACK edef MT_UBACK edef MT_HANJA edef MT_LNAV edef MT_RNAV edef MT_BLOCK edef MT_HAN_1 edef MT_HAN_2 edef MT_HAN_3 edef MT_HAN_4 edef MT_HAN_5 edef MT_HAN_6 edef MT_HAN_7 edef MT_HAN_8 edef MT_HAN_9 edef MT_HAN_0 edef MT_HAN_A edef MT_HAN_B edef MT_ENG_1 edef MT_ENG_2 edef MT_ENG_3 edef MT_ENG_4 edef MT_ENG_5 edef MT_ENG_6 edef MT_ENG_7 edef MT_ENG_8 edef MT_ENG_9 edef MT_ENG_10 edef MT_ENG_11 edef MT_ENG_12 edef MT_ENG_13 edef MT_ENG_14 edef MT_SPC_1 edef MT_SPC_2 edef MT_SPC_3 edef MT_SPC_4 edef MT_SPC_5 edef MT_SPC_6 edef MT_SPC_7 edef MT_SPC_8 edef MT_SPC_9 edef MT_SPC_10 edef MT_SPC_11 edef MT_SPC_12 edef MT_SPC_13 edef MT_SPC_14 edef MT_SPC_15 edef MT_NAV_1 edef MT_NAV_2 edef MT_NAV_3 edef MT_NAV_4 edef MT_NAV_5 edef MT_NAV_6 enum 0 edef DL_MAIN edef DL_IME edef DL_SHIFT edef DL_NUM edef DL_MENU edef DL_GUIDE00 edef DL_GUIDE01 edef DL_GUIDE02 edef DL_GUIDE03 edef DL_GUIDE10 edef DL_GUIDE11 edef DL_GUIDE12 edef DL_GUIDE13 edef DL_GUIDE20 edef DL_GUIDE21 edef DL_GUIDE22 edef DL_GUIDE23 define DL_MAX DL_MENU define DL_GUIDE_MAX 4 define WIN_MENU WIN_4 define WIN_GUIDE0 WIN_1 define WIN_GUIDE1 WIN_2 define WIN_GUIDE2 WIN_3 enum 0xa0 edef GW_BMP edef GW_TIMER edef GW_CANCEL edef GW_SIPX edef GW_SIPY edef GW_PANEL edef GW_PANELX edef GW_PANELY edef GW_MENUF edef GW_MENUD edef GW_MENUI edef GW_MENUM edef GW_MENUT edef GW_BLOCK_STATUS edef GW_SHIFT_STATUS edef GW_NUMBR_STATUS edef GW_CHO_0 edef GW_CHO_1 edef GW_CHO_2 edef GW_CHO_3 edef GW_JUN_0 edef GW_JUN_1 edef GW_JUN_2 edef GW_JON_0 edef GW_JON_1 edef GW_BAK_0 edef GW_BAK_1 edef GW_COMPLETE_0 edef GW_COMPLETE_1 edef GW_COMPLETE_2 edef GW_COMPLETE_3 edef GW_SVRX edef GW_SVRY edef GW_SVPX edef GW_SVPY define MENUI_CENTER 4 define MENUI_MAX 9 define MENUI_NO_SELECT 9 define MENUF_MENU_ENABLE 0x01 define MENUF_GUIDE_ON 0x02 define MENUF_GUIDE_READY 0x04 define MENUF_MARGIN_DISABLE 0x08 define MENUF_REDRAW 0x10 define MENUF_MENUCLOSE 0x20 define MENUF_GUIDE_STATE 0x06 func EventSelect LoadBitmap BMP0 "totalkeyboard.bmp" SetImageScale 256 256 SetWindowDisplayList WIN_MAIN DL_MAIN DL_MAX SetWindowDisplayList WIN_MENU DL_MENU 1 SetWindowDisplayList WIN_GUIDE0 DL_GUIDE00 DL_GUIDE_MAX SetWindowDisplayList WIN_GUIDE1 DL_GUIDE10 DL_GUIDE_MAX SetWindowDisplayList WIN_GUIDE2 DL_GUIDE20 DL_GUIDE_MAX SetEventTable WIN_MAIN DT_PANEL SETV $GW_CANCEL F_NIL SETV $GW_BMP 0 SETV $GW_MENUF 0 CALL F_RESIZE endfunc func EventDeselect CALL F_BMP DL_MAIN DL_MAX endfunc func EventRotate LoadBitmap BMP0 "totalkeyboard.bmp" SetImageScale 256 256 SetWindowDisplayList WIN_MAIN DL_MAIN DL_MAX SetWindowDisplayList WIN_MENU DL_MENU 1 SetWindowDisplayList WIN_GUIDE0 DL_GUIDE00 DL_GUIDE_MAX SetWindowDisplayList WIN_GUIDE1 DL_GUIDE10 DL_GUIDE_MAX SetWindowDisplayList WIN_GUIDE2 DL_GUIDE20 DL_GUIDE_MAX SetEventTable WIN_MAIN DT_PANEL SETV $GW_CANCEL F_NIL SETV $GW_BMP 0 SETV $GW_MENUF 0 CALL F_RESIZE endfunc func EventTimer CALL $GW_TIMER endfunc func F_NIL endfunc func F_BMP IF CMP_EQ $GW_BMP 0 THEN DrawDisplayList WIN_MAIN $ARG0 $ARG1 ENDIF endfunc func F_CLICK AND $GW_STATE $ARG0 VK THEN SendVirtual $GW_STATE $ARG1 SendVirtual $GW_STATE KEYEVENTF_SKEYUP ENDIF endfunc func F_TIMER SETV $GW_TIMER $ARG0 SetTimer $ARG1 endfunc func F_TIMERE IF CMP_GT $ARG1 0 THEN SETV $GW_TIMER $ARG0 SetTimer $ARG1 ELSE SetTimer 0 CALL $ARG0 ENDIF endfunc func F_RESET CALL F_POP 0 DL_IME CALL F_POP 0 DL_SHIFT CALL F_POP 0 DL_NUM SETV $GW_PANEL $ARG0 SETV $GW_PANELX 0 SUB $GW_PANELY $GW_PANEL PL_HAN MUL $GW_PANELY $GW_PANELY Y4 SetDisplayList DL_MAIN DLTYPE_COPY 0 0 X5 Y4 BMP0 $GW_PANELX $GW_PANELY ADD $GW_BMP $GW_BMP 1 SUB $GW_BMP $GW_BMP 1 SETV $GW_SHIFT_STATUS 0 SETV $GW_NUMBR_STATUS 0 SETV $GW_BLOCK_STATUS 0 SETV $GW_CHO_0 0 SETV $GW_JUN_0 0 SETV $GW_JON_0 0 SETV $GW_BAK_0 0 SETV $GW_COMPLETE_0 0 endfunc func F_RESIZE LOCAL 4 GetScreenSize IF CMP_GE $GW_RETVAL0 $GW_RETVAL1 THEN SETV $GW_RETVAL0 $GW_RETVAL1 MUL $0 KW 5 MUL $1 KH 4 MUL $2 $GW_RETVAL0 256 DIV $2 $2 $0 MUL $3 $2 SIP_HEIGHTL DIV $3 $3 $1 ELSE MUL $0 KW 5 MUL $1 KH 4 MUL $2 $GW_RETVAL0 256 DIV $2 $2 $0 MUL $3 $2 SIP_HEIGHTP DIV $3 $3 $1 ENDIF SetScale $2 $3 CMP CMP_GT $3 0 SetPanelSize $0 $1 CALL F_RESET PL_HAN ResizeWindow WIN_MAIN $0 $1 OpenWindow WIN_MAIN 0 0 0 0 GetScreenPos WIN_MAIN 0 0 SETV $GW_SIPX $GW_RETVAL0 SETV $GW_SIPY $GW_RETVAL1 CALL F_BMP DL_MAIN DL_MAX endfunc func F_POP LOCAL 2 SETV $GW_STATE $ARG0 THEN ADD $0 $GW_PANELX $ARG4 ADD $1 $GW_PANELY $ARG5 ELSE THEN DIV $0 $ARG2 KW DIV $1 $ARG3 KH MUL $1 $1 10 ADD $0 $0 $1 ADD $0 $GW_PANELX 0 ADD $1 $GW_PANELY 0 ELSE ADD $0 $GW_PANELX $ARG2 ADD $1 $GW_PANELY $ARG3 ENDIF ENDIF SetDisplayList $ARG1 DLTYPE_COPY $ARG2 $ARG3 KW KH BMP0 $0 $1 CALL F_BMP $ARG1 1 IF CMP_EQ $ARG0 0 THEN SetDisplayList $ARG1 DLTYPE_OFF ENDIF endfunc func F_PANEL CALL F_RESET $ARG0 CALL F_BMP DL_MAIN DL_MAX endfunc func F_HISTORY SETV $GW_CHO_3 $GW_CHO_2 SETV $GW_CHO_2 $GW_CHO_1 SETV $GW_CHO_1 $GW_CHO_0 SETV $GW_CHO_0 $ARG0 SETV $GW_JUN_2 $GW_JUN_1 SETV $GW_JUN_1 $GW_JUN_0 SETV $GW_JUN_0 $ARG1 SETV $GW_JON_1 $GW_JON_0 SETV $GW_JON_0 $ARG2 SETV $GW_BAK_1 $GW_BAK_0 SETV $GW_BAK_0 $ARG3 SETV $GW_COMPLETE_3 $GW_COMPLETE_2 SETV $GW_COMPLETE_2 $GW_COMPLETE_1 SETV $GW_COMPLETE_1 $GW_COMPLETE_0 SETV $GW_COMPLETE_0 $ARG4 endfunc func F_HISTORY_FIX SETV $GW_CHO_0 $GW_CHO_1 SETV $GW_CHO_1 $GW_CHO_2 SETV $GW_CHO_2 $GW_CHO_3 SETV $GW_CHO_3 0 SETV $GW_JUN_0 $GW_JUN_1 SETV $GW_JUN_1 $GW_JUN_2 SETV $GW_JUN_2 0 SETV $GW_JON_0 $GW_JON_1 SETV $GW_JON_1 0 SETV $GW_BAK_0 $GW_BAK_1 SETV $GW_BAK_1 0 SETV $GW_COMPLETE_0 $GW_COMPLETE_1 SETV $GW_COMPLETE_1 $GW_COMPLETE_2 SETV $GW_COMPLETE_2 $GW_COMPLETE_3 SETV $GW_COMPLETE_3 0 endfunc func F_HISTORY_FIXBS CALL F_CLICK VK_BACK KEYEVENTF_SKEYDOWN SETV $GW_CHO_0 $GW_CHO_1 SETV $GW_CHO_1 $GW_CHO_2 SETV $GW_CHO_2 $GW_CHO_3 SETV $GW_CHO_3 0 SETV $GW_JUN_0 $GW_JUN_1 SETV $GW_JUN_1 $GW_JUN_2 SETV $GW_JUN_2 0 SETV $GW_JON_0 $GW_JON_1 SETV $GW_JON_1 0 SETV $GW_BAK_0 $GW_BAK_1 SETV $GW_BAK_1 0 SETV $GW_COMPLETE_0 $GW_COMPLETE_1 SETV $GW_COMPLETE_1 $GW_COMPLETE_2 SETV $GW_COMPLETE_2 $GW_COMPLETE_3 SETV $GW_COMPLETE_3 0 endfunc func F_STATUS IF CMP_EQ $GW_BLOCK_STATUS 0 THEN CALL F_POP 0x8 DL_IME X0 Y0 X5 0 SETV $GW_BLOCK_STATUS 1 RETURN ENDIF IF CMP_EQ $GW_BLOCK_STATUS 1 THEN CALL F_POP 0x8 DL_IME X0 Y0 X5 40 SETV $GW_BLOCK_STATUS 0 RETURN ENDIF endfunc func F_SHIFT IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_POP 0 DL_NUM CALL F_BMP DL_MAIN DL_MAX SETV $GW_NUMBR_STATUS 0 ENDIF IF CMP_EQ $ARG0 1 THEN IF CMP_GE $GW_SHIFT_STATUS 1 THEN IF CMP_LE $GW_SHIFT_STATUS 2 THEN CALL F_POP 0 DL_SHIFT CALL F_BMP DL_MAIN DL_MAX SETV $GW_SHIFT_STATUS 0 RETURN ENDIF ELSE CALL F_POP 0x8 DL_SHIFT X4 Y3 X5 80 SETV $GW_SHIFT_STATUS 1 RETURN ENDIF ENDIF IF CMP_EQ $ARG0 2 THEN IF CMP_GE $GW_SHIFT_STATUS 1 THEN IF CMP_LE $GW_SHIFT_STATUS 2 THEN CALL F_POP 0 DL_SHIFT CALL F_BMP DL_MAIN DL_MAX SETV $GW_SHIFT_STATUS 0 RETURN ENDIF ELSE CALL F_POP 0x8 DL_SHIFT X4 Y3 X5 80 SETV $GW_SHIFT_STATUS 2 RETURN ENDIF ENDIF endfunc func F_NUM SETV $GW_BLOCK_STATUS 2 IF CMP_EQ $GW_NUMBR_STATUS 0 THEN CALL F_POP 0x8 DL_NUM X4 Y3 X5 160 SETV $GW_NUMBR_STATUS 1 RETURN ENDIF IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_POP 0 DL_NUM CALL F_BMP DL_MAIN DL_MAX SETV $GW_NUMBR_STATUS 0 RETURN ENDIF endfunc func F_BACK IF CMP_GE $GW_COMPLETE_0 0 THEN IF CMP_LE $GW_COMPLETE_0 1 THEN CALL F_CLICK VK_BACK KEYEVENTF_SKEYDOWN SETV $GW_BLOCK_STATUS 2 RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY_FIX IF CMP_EQ $GW_CHO_0 CHO_GI THEN CALL F_BSCHAR 0x3131 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_GG THEN CALL F_BSCHAR 0x3132 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_NI THEN CALL F_BSCHAR 0x3134 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_DI THEN CALL F_BSCHAR 0x3137 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_DD THEN CALL F_BSCHAR 0x3138 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_LI THEN CALL F_BSCHAR 0x3139 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_MI THEN CALL F_BSCHAR 0x3141 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_BI THEN CALL F_BSCHAR 0x3142 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_BB THEN CALL F_BSCHAR 0x3143 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_SI THEN CALL F_BSCHAR 0x3145 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_SS THEN CALL F_BSCHAR 0x3146 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_EI THEN CALL F_BSCHAR 0x3147 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_JI THEN CALL F_BSCHAR 0x3148 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_JJ THEN CALL F_BSCHAR 0x3149 RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_CHI THEN CALL F_BSCHAR 0x314a RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_KI THEN CALL F_BSCHAR 0x314b RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_TI THEN CALL F_BSCHAR 0x314c RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_PI THEN CALL F_BSCHAR 0x314d RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_HI THEN CALL F_BSCHAR 0x314e RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN CALL F_HISTORY_FIX CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 4 THEN CALL F_HISTORY_FIX CALL F_BUILD RETURN ENDIF endfunc func F_ONE CALL F_SEND $ARG0 $ARG1 endfunc func F_SEND SETV $GW_BLOCK_STATUS 2 IF CMP_EQ $ARG0 VK_HANJA THEN IF CMP_GE $GW_COMPLETE_0 1 THEN IF CMP_LE $GW_COMPLETE_0 3 THEN CALL F_SEND VK_LEFT SHIFT ENDIF ENDIF ENDIF IF CMP_EQ $ARG1 0 THEN IF CMP_EQ $GW_SHIFT_STATUS 1 THEN SendVirtual VK_SHIFT KEYEVENTF_SKEYDOWN CALL F_CLICK $ARG0 KEYEVENTF_SILENT SendVirtual VK_SHIFT KEYEVENTF_SKEYUP RETURN ELSE CALL F_CLICK $ARG0 KEYEVENTF_SKEYDOWN RETURN ENDIF ENDIF IF CMP_EQ $ARG1 SHIFT THEN SendVirtual VK_SHIFT KEYEVENTF_SKEYDOWN CALL F_CLICK $ARG0 KEYEVENTF_SILENT SendVirtual VK_SHIFT KEYEVENTF_SKEYUP RETURN ENDIF IF CMP_EQ $ARG1 CTRL THEN SendVirtual VK_CTRL KEYEVENTF_SKEYDOWN CALL F_CLICK $ARG0 KEYEVENTF_SILENT SendVirtual VK_CTRL KEYEVENTF_SKEYUP RETURN ENDIF endfunc func F_CHAR SendChar 0 0 $ARG0 SETV $GW_BLOCK_STATUS 2 endfunc func F_BSCHAR CALL F_CLICK VK_BACK KEYEVENTF_SKEYDOWN SendChar 0 0 $ARG0 CALL F_STATUS endfunc func F_ENG IF CMP_EQ $GW_NUMBR_STATUS 1 THEN SendChar 0 0 $ARG1 RETURN ENDIF IF CMP_EQ $GW_SHIFT_STATUS 1 THEN SUB $ARG0 $ARG0 0x0020 CALL F_POP 0 DL_SHIFT CALL F_BMP DL_MAIN DL_MAX SETV $GW_SHIFT_STATUS 0 ELSE IF CMP_EQ $GW_SHIFT_STATUS 2 THEN SUB $ARG0 $ARG0 0x0020 ENDIF ENDIF SendChar 0 0 $ARG0 endfunc func F_BUILD CALL F_CLICK VK_BACK KEYEVENTF_SKEYDOWN LOCAL 3 SETV $0 $GW_CHO_0 SETV $1 $GW_JUN_0 SETV $2 $GW_JON_0 IF CMP_NE $0 0 THEN SUB $0 $0 0x0401 MUL $0 $0 0x024c IF CMP_NE $1 0 THEN SUB $1 $1 0x0414 MUL $1 $1 0x001c IF CMP_NE $2 0 THEN SUB $2 $2 0x0429 ENDIF ENDIF ENDIF ADD $0 $0 0xac00 ADD $0 $0 $1 ADD $0 $0 $2 SendChar 0x14 0 $0 CALL F_STATUS endfunc func F_NOBUILD LOCAL 3 SETV $0 $GW_CHO_0 SETV $1 $GW_JUN_0 SETV $2 $GW_JON_0 IF CMP_NE $0 0 THEN SUB $0 $0 0x0401 MUL $0 $0 0x024c IF CMP_NE $1 0 THEN SUB $1 $1 0x0414 MUL $1 $1 0x001c IF CMP_NE $2 0 THEN SUB $2 $2 0x0429 ENDIF ENDIF ENDIF ADD $0 $0 0xac00 ADD $0 $0 $1 ADD $0 $0 $2 SendChar 0x10 0 $0 endfunc func F_TIMEOUT CALL F_POP 0 DL_IME CALL F_BMP DL_MAIN DL_MAX SETV $GW_BLOCK_STATUS 0 SETV $GW_CHO_0 0 SETV $GW_JUN_0 0 SETV $GW_JON_0 0 SETV $GW_BAK_0 0 SETV $GW_COMPLETE_0 0 endfunc func F_UNICODE_GI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0031 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_GI CHO_GI 3 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN IF CMP_EQ $GW_JON_0 JON_LI THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LG CHO_GI 4 CALL F_BUILD RETURN ENDIF ENDIF SendChar 0 0 0x3131 CALL F_STATUS CALL F_HISTORY CHO_GI 0 0 0 1 endfunc func F_UNICODE_NI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0032 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_NI CHO_NI 3 CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3134 CALL F_STATUS CALL F_HISTORY CHO_NI 0 0 0 1 endfunc func F_UNICODE_LI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0034 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LI CHO_LI 3 CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3139 CALL F_STATUS CALL F_HISTORY CHO_LI 0 0 0 1 endfunc func F_UNICODE_MI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0035 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_MI CHO_MI 3 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN IF CMP_EQ $GW_JON_0 JON_LI THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LM CHO_MI 4 CALL F_BUILD RETURN ENDIF ENDIF SendChar 0 0 0x3141 CALL F_STATUS CALL F_HISTORY CHO_MI 0 0 0 1 endfunc func F_UNICODE_SI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0037 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_SI CHO_SI 3 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN IF CMP_EQ $GW_JON_0 JON_GI THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_GS CHO_SI 4 CALL F_BUILD RETURN ELSE IF CMP_EQ $GW_JON_0 JON_LI THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LS CHO_SI 4 CALL F_BUILD RETURN ELSE IF CMP_EQ $GW_JON_0 JON_BI THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_BS CHO_SI 4 CALL F_BUILD RETURN ENDIF ENDIF ENDIF ENDIF SendChar 0 0 0x3145 CALL F_STATUS CALL F_HISTORY CHO_SI 0 0 0 1 endfunc func F_UNICODE_EI IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0038 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_EI CHO_EI 3 CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3147 CALL F_STATUS CALL F_HISTORY CHO_EI 0 0 0 1 endfunc func F_TRANS_1 IF CMP_EQ $GW_COMPLETE_0 1 THEN IF CMP_EQ $GW_CHO_0 CHO_GI THEN CALL F_BSCHAR 0x314b SETV $GW_CHO_0 CHO_KI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_NI THEN CALL F_BSCHAR 0x3137 SETV $GW_CHO_0 CHO_DI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_DI THEN IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LT CHO_TI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x314c SETV $GW_CHO_0 CHO_TI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_MI THEN CALL F_BSCHAR 0x3142 SETV $GW_CHO_0 CHO_BI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_BI THEN CALL F_BSCHAR 0x314d SETV $GW_CHO_0 CHO_PI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_SI THEN IF CMP_EQ $GW_JON_1 JON_NI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_NJ CHO_JI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_BI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_BS CHO_SI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3148 SETV $GW_CHO_0 CHO_JI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_EI THEN IF CMP_EQ $GW_JON_1 JON_NI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_NH CHO_HI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LH CHO_HI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x314e SETV $GW_CHO_0 CHO_HI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_JI THEN CALL F_BSCHAR 0x314a SETV $GW_CHO_0 CHO_CHI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_CHI THEN IF CMP_EQ $GW_JON_1 JON_GI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_GS CHO_SI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LS CHO_SI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_BI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_BS CHO_SI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3145 SETV $GW_CHO_0 CHO_SI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_KI THEN IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LG CHO_GI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3131 SETV $GW_CHO_0 CHO_GI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_TI THEN CALL F_BSCHAR 0x3134 SETV $GW_CHO_0 CHO_NI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_PI THEN CALL F_BSCHAR 0x3141 SETV $GW_CHO_0 CHO_MI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_HI THEN CALL F_BSCHAR 0x3147 SETV $GW_CHO_0 CHO_EI RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN SETV $GW_JUN_0 JUN_YA CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_AE THEN SETV $GW_JUN_0 JUN_YAE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YA THEN SETV $GW_JUN_0 JUN_A CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YAE THEN SETV $GW_JUN_0 JUN_E CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN SETV $GW_JUN_0 JUN_YEO CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_E THEN SETV $GW_JUN_0 JUN_YE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YEO THEN SETV $GW_JUN_0 JUN_EO CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YE THEN SETV $GW_JUN_0 JUN_E CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_YO CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YO THEN SETV $GW_JUN_0 JUN_O CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_YOU CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YOU THEN SETV $GW_JUN_0 JUN_U CALL F_BUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN IF CMP_EQ $GW_JON_0 JON_GI THEN SETV $GW_JON_0 JON_KI SETV $GW_BAK_0 CHO_KI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_NI THEN SETV $GW_JON_0 JON_DI SETV $GW_BAK_0 CHO_DI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_DI THEN SETV $GW_JON_0 JON_TI SETV $GW_BAK_0 CHO_TI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_MI THEN SETV $GW_JON_0 JON_BI SETV $GW_BAK_0 CHO_BI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_BI THEN SETV $GW_JON_0 JON_PI SETV $GW_BAK_0 CHO_PI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_SI THEN SETV $GW_JON_0 JON_JI SETV $GW_BAK_0 CHO_JI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_EI THEN SETV $GW_JON_0 JON_HI SETV $GW_BAK_0 CHO_HI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_JI THEN SETV $GW_JON_0 JON_CHI SETV $GW_BAK_0 CHO_CHI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_CHI THEN SETV $GW_JON_0 JON_SI SETV $GW_BAK_0 CHO_SI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_KI THEN SETV $GW_JON_0 JON_GI SETV $GW_BAK_0 CHO_GI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_TI THEN SETV $GW_JON_0 JON_NI SETV $GW_BAK_0 CHO_NI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_PI THEN SETV $GW_JON_0 JON_MI SETV $GW_BAK_0 CHO_MI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_HI THEN SETV $GW_JON_0 JON_EI SETV $GW_BAK_0 CHO_EI CALL F_BUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 4 THEN IF CMP_EQ $GW_JON_0 JON_GS THEN CALL F_BACK SendChar 0 0 0x3148 CALL F_HISTORY CHO_JI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_NJ THEN CALL F_BACK SendChar 0 0 0x314a CALL F_HISTORY CHO_CHI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_NH THEN CALL F_BACK SendChar 0 0 0x3147 CALL F_HISTORY CHO_EI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LG THEN CALL F_BACK SendChar 0 0 0x314b CALL F_HISTORY CHO_KI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LM THEN CALL F_HISTORY_FIX CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LB CHO_BI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LB THEN CALL F_HISTORY_FIX CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LP CHO_PI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LS THEN CALL F_BACK SendChar 0 0 0x3148 CALL F_HISTORY CHO_JI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LT THEN CALL F_BACK SendChar 0 0 0x3134 CALL F_HISTORY CHO_NI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LP THEN CALL F_HISTORY_FIX CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LM CHO_MI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LH THEN CALL F_BACK SendChar 0 0 0x3147 CALL F_HISTORY CHO_EI 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_BS THEN CALL F_BACK SendChar 0 0 0x3148 CALL F_HISTORY CHO_JI 0 0 0 1 RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_GE $GW_JUN_0 JUN_A THEN IF CMP_LE $GW_JUN_0 JUN_I THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN CALL F_BSCHAR 0x3151 SETV $GW_JUN_0 JUN_YA RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_AE THEN CALL F_BSCHAR 0x3152 SETV $GW_JUN_0 JUN_YAE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YA THEN CALL F_BSCHAR 0x314f SETV $GW_JUN_0 JUN_A RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YAE THEN CALL F_BSCHAR 0x3150 SETV $GW_JUN_0 JUN_AE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN CALL F_BSCHAR 0x3155 SETV $GW_JUN_0 JUN_YEO RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_E THEN CALL F_BSCHAR 0x3156 SETV $GW_JUN_0 JUN_YE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YEO THEN CALL F_BSCHAR 0x3153 SETV $GW_JUN_0 JUN_EO RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YE THEN CALL F_BSCHAR 0x3154 SETV $GW_JUN_0 JUN_E RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN CALL F_BSCHAR 0x315b SETV $GW_JUN_0 JUN_YO RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YO THEN CALL F_BSCHAR 0x3157 SETV $GW_JUN_0 JUN_O RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN CALL F_BSCHAR 0x3160 SETV $GW_JUN_0 JUN_YOU RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YOU THEN CALL F_BSCHAR 0x315c SETV $GW_JUN_0 JUN_U RETURN ENDIF ENDIF ENDIF ENDIF endfunc func F_TRANS_2 IF CMP_EQ $GW_COMPLETE_0 1 THEN IF CMP_EQ $GW_CHO_0 CHO_GI THEN CALL F_BSCHAR 0x3132 SETV $GW_CHO_0 CHO_GG RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_GG THEN IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LG CHO_GI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3131 SETV $GW_CHO_0 CHO_GI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_DI THEN CALL F_BSCHAR 0x3138 SETV $GW_CHO_0 CHO_DD RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_DD THEN CALL F_BSCHAR 0x3137 SETV $GW_CHO_0 CHO_DI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_BI THEN CALL F_BSCHAR 0x3143 SETV $GW_CHO_0 CHO_BB RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_BB THEN IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LB CHO_BI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3142 SETV $GW_CHO_0 CHO_BI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_SI THEN CALL F_BSCHAR 0x3146 SETV $GW_CHO_0 CHO_SS RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_SS THEN IF CMP_EQ $GW_JON_1 JON_GI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_GS CHO_SI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_LI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_LS CHO_SI 4 CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_1 JON_BI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_BS CHO_SI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3145 SETV $GW_CHO_0 CHO_SI RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_JI THEN CALL F_BSCHAR 0x3149 SETV $GW_CHO_0 CHO_JJ RETURN ENDIF IF CMP_EQ $GW_CHO_0 CHO_JJ THEN IF CMP_EQ $GW_JON_1 JON_NI THEN CALL F_HISTORY_FIXBS CALL F_HISTORY $GW_CHO_0 $GW_JUN_0 JON_NJ CHO_JI 4 CALL F_BUILD RETURN ENDIF CALL F_BSCHAR 0x3148 SETV $GW_CHO_0 CHO_JI RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 3 THEN IF CMP_EQ $GW_JON_0 JON_GI THEN SETV $GW_JON_0 JON_GG SETV $GW_BAK_0 CHO_GG CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_GG THEN SETV $GW_JON_0 JON_GI SETV $GW_BAK_0 CHO_GI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_DI THEN CALL F_BACK SendChar 0 0 0x3138 CALL F_HISTORY CHO_DD 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_BI THEN CALL F_BACK SendChar 0 0 0x3143 CALL F_HISTORY CHO_BB 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_SI THEN SETV $GW_JON_0 JON_SS SETV $GW_BAK_0 CHO_SS CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_SS THEN SETV $GW_JON_0 JON_SI SETV $GW_BAK_0 CHO_SI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_JI THEN CALL F_BACK SendChar 0 0 0x3149 CALL F_HISTORY CHO_JJ 0 0 0 1 RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 4 THEN IF CMP_EQ $GW_JON_0 JON_GS THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3146 CALL F_HISTORY CHO_SS 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_NJ THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3149 CALL F_HISTORY CHO_JJ 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LG THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3132 CALL F_HISTORY CHO_GG 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LB THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3143 CALL F_HISTORY CHO_BB 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_LS THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3146 CALL F_HISTORY CHO_SS 0 0 0 1 RETURN ENDIF IF CMP_EQ $GW_JON_0 JON_BS THEN CALL F_HISTORY_FIX CALL F_BUILD SendChar 0 0 0x3146 CALL F_HISTORY CHO_SS 0 0 0 1 RETURN ENDIF ENDIF endfunc func F_TRANS_A IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0033 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_A 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_A 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN SETV $GW_JUN_0 JUN_EO CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN SETV $GW_JUN_0 JUN_A CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_WA CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_WO CALL F_BUILD RETURN ENDIF SendChar 0 0 0x314f CALL F_STATUS CALL F_HISTORY 0 JUN_A 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN CALL F_BSCHAR 0x3153 SETV $GW_JUN_0 JUN_EO RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN CALL F_BSCHAR 0x314f SETV $GW_JUN_0 JUN_A RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN CALL F_BSCHAR 0x3158 SETV $GW_JUN_0 JUN_WA RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN CALL F_BSCHAR 0x315d SETV $GW_JUN_0 JUN_WO RETURN ENDIF SendChar 0 0 0x314f CALL F_STATUS CALL F_HISTORY 0 JUN_A 0 0 0 RETURN ENDIF endfunc func F_TRANS_EO IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_EO 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_EO 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN SETV $GW_JUN_0 JUN_EO CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN SETV $GW_JUN_0 JUN_A CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_WO CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3153 CALL F_STATUS CALL F_HISTORY 0 JUN_EO 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN CALL F_BSCHAR 0x3153 SETV $GW_JUN_0 JUN_EO RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN CALL F_BSCHAR 0x314f SETV $GW_JUN_0 JUN_A RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN CALL F_BSCHAR 0x315d SETV $GW_JUN_0 JUN_WO RETURN ENDIF SendChar 0 0 0x3153 CALL F_STATUS CALL F_HISTORY 0 JUN_EO 0 0 0 RETURN ENDIF endfunc func F_TRANS_O IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0036 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_O 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_O 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_U CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_O CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3157 CALL F_STATUS CALL F_HISTORY 0 JUN_O 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_EQ $GW_JUN_0 JUN_O THEN CALL F_BSCHAR 0x315c SETV $GW_JUN_0 JUN_U RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN CALL F_BSCHAR 0x3157 SETV $GW_JUN_0 JUN_O RETURN ENDIF SendChar 0 0 0x3157 CALL F_STATUS CALL F_HISTORY 0 JUN_O 0 0 0 RETURN ENDIF endfunc func F_TRANS_U IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_U 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_U 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_U CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_O CALL F_BUILD RETURN ENDIF SendChar 0 0 0x315c CALL F_STATUS CALL F_HISTORY 0 JUN_U 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_U CALL F_BSCHAR 0x315c RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_O CALL F_BSCHAR 0x3157 RETURN ENDIF SendChar 0 0 0x315c CALL F_STATUS CALL F_HISTORY 0 JUN_U 0 0 0 RETURN ENDIF endfunc func F_TRANS_EU IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0030 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_EU 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_EU 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN SendChar 0 0 0x3161 CALL F_STATUS CALL F_HISTORY 0 JUN_EU 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN SendChar 0 0 0x3161 CALL F_STATUS CALL F_HISTORY 0 JUN_EU 0 0 0 RETURN ENDIF endfunc func F_TRANS_I IF CMP_EQ $GW_NUMBR_STATUS 1 THEN CALL F_CHAR 0x0039 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 1 THEN CALL F_HISTORY $GW_CHO_0 JUN_I 0 0 2 CALL F_BUILD RETURN ENDIF IF CMP_GE $GW_COMPLETE_0 3 THEN IF CMP_LE $GW_COMPLETE_0 4 THEN LOCAL 1 SETV $0 $GW_BAK_0 CALL F_BACK CALL F_HISTORY $0 0 0 0 1 CALL F_HISTORY $0 JUN_I 0 0 2 CALL F_NOBUILD RETURN ENDIF ENDIF IF CMP_EQ $GW_COMPLETE_0 2 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN SETV $GW_JUN_0 JUN_AE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YA THEN SETV $GW_JUN_0 JUN_YAE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN SETV $GW_JUN_0 JUN_E CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YEO THEN SETV $GW_JUN_0 JUN_YE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN SETV $GW_JUN_0 JUN_OE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_WA THEN SETV $GW_JUN_0 JUN_WAE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN SETV $GW_JUN_0 JUN_WI CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_WO THEN SETV $GW_JUN_0 JUN_WE CALL F_BUILD RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EU THEN SETV $GW_JUN_0 JUN_UI CALL F_BUILD RETURN ENDIF SendChar 0 0 0x3163 CALL F_STATUS CALL F_HISTORY 0 JUN_I 0 0 0 RETURN ENDIF IF CMP_EQ $GW_COMPLETE_0 0 THEN IF CMP_EQ $GW_JUN_0 JUN_A THEN CALL F_BSCHAR 0x3150 SETV $GW_JUN_0 JUN_AE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YA THEN CALL F_BSCHAR 0x3152 SETV $GW_JUN_0 JUN_YAE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EO THEN CALL F_BSCHAR 0x3154 SETV $GW_JUN_0 JUN_E RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_YEO THEN CALL F_BSCHAR 0x3156 SETV $GW_JUN_0 JUN_YE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_O THEN CALL F_BSCHAR 0x315a SETV $GW_JUN_0 JUN_OE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_WA THEN CALL F_BSCHAR 0x3159 SETV $GW_JUN_0 JUN_WAE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_U THEN CALL F_BSCHAR 0x315f SETV $GW_JUN_0 JUN_WI RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_WO THEN CALL F_BSCHAR 0x315e SETV $GW_JUN_0 JUN_WE RETURN ENDIF IF CMP_EQ $GW_JUN_0 JUN_EU THEN CALL F_BSCHAR 0x3162 SETV $GW_JUN_0 JUN_UI RETURN ENDIF SendChar 0 0 0x3163 CALL F_STATUS CALL F_HISTORY 0 JUN_I 0 0 0 RETURN ENDIF endfunc func F_BI_HANJA SendChar 0 0 0x3142 CALL F_SEND VK_LEFT SHIFT CALL F_CLICK VK_HANJA KEYEVENTF_SKEYDOWN endfunc func F_EI_HANJA SendChar 0 0 0x3147 CALL F_SEND VK_LEFT SHIFT CALL F_CLICK VK_HANJA KEYEVENTF_SKEYDOWN endfunc func F_PI_HANJA SendChar 0 0 0x314d CALL F_SEND VK_LEFT SHIFT CALL F_CLICK VK_HANJA KEYEVENTF_SKEYDOWN endfunc func F_CLEAR CALL F_SEND 'A' CTRL CALL F_SEND VK_DEL 0 endfunc func F_MENUDOWN SetTimer 0 AND $GW_STATE $GW_MENUF MENUF_MENU_ENABLE THEN OR $GW_MENUF $GW_MENUF MENUF_REDRAW CALL F_MENUMOVE RETURN ENDIF LOCAL 3 SETV $GW_SVPX $GW_PX SETV $GW_SVPY $GW_PY DIV $0 $GW_SVPX KW DIV $1 $GW_SVPY KH MUL $GW_SVRX $0 KW MUL $GW_SVRY $1 KH THEN MUL $1 $1 10 ADD $0 $0 $1 DIV $0 0 KW DIV $1 0 KH ENDIF MUL $1 $1 5 ADD $0 $0 $1 ReadTable $GW_PANEL $0 3 SETV $GW_MENUF 0 SETV $GW_MENUT $GW_RETVAL1 NOT $GW_MENUD $GW_RETVAL2 AND $GW_MENUD $GW_MENUD 0x1ff SETV $GW_MENUM $GW_RETVAL3 IF CMP_EQ $GW_MENUM 0 THEN OR $GW_MENUF $GW_MENUF MENUF_MARGIN_DISABLE ENDIF CMP CMP_EQ $GW_MENUT MT_PANEL SETV $2 $GW_STATE SETV $0 MENUI_MAX DO SUB $0 $0 1 SHL $1 1 $0 AND $GW_STATE $GW_MENUD $1 THEN ReadTable $GW_MENUT $0 4 MUL $GW_STATE $GW_RETVAL0 $GW_RETVAL2 THEN ELSE XOR $GW_MENUD $GW_MENUD $1 ENDIF ENDIF SETV $GW_STATE $0 WHILE SHL $2 $2 MENUI_MAX OR $GW_MENUD $GW_MENUD $2 AND $GW_STATE $GW_MENUD 0x10 THEN SETV $GW_MENUI MENUI_CENTER ELSE SETV $GW_MENUI MENUI_NO_SELECT ENDIF CALL F_MENUDISP CALL F_MENUENBL SETV $GW_CANCEL F_MENUCANCEL endfunc func F_MENUMOVE LOCAL 3 AND $GW_STATE $GW_MENUF MENUF_MARGIN_DISABLE THEN SUB $0 $GW_PX $GW_SVRX SUB $1 $GW_PY $GW_SVRY ADD $0 $0 $0 ADD $1 $1 $1 SUB $0 $0 KW SUB $1 $1 KH MUL $0 $0 256 MUL $1 $1 256 DIV $0 $0 KW DIV $1 $1 KH SETV $2 1179648 ELSE SUB $0 $GW_PX $GW_SVPX SUB $1 $GW_PY $GW_SVPY MUL $0 $0 512 MUL $1 $1 512 MUL $1 $1 KW DIV $1 $1 KH DIV $0 $0 $GW_MENUM DIV $1 $1 $GW_MENUM SETV $2 0x7fffffff ENDIF MUL $GW_RETVAL0 $0 $0 MUL $GW_RETVAL1 $1 $1 ADD $GW_RETVAL0 $GW_RETVAL0 $GW_RETVAL1 IF CMP_GT $GW_RETVAL0 $2 THEN SETV $0 MENUI_NO_SELECT ELSE IF CMP_LE $GW_RETVAL0 131072 THEN AND $GW_STATE $GW_MENUD 0x010 THEN SETV $0 MENUI_CENTER ELSE SETV $0 MENUI_NO_SELECT ENDIF ELSE SETV $2 0 IF CMP_LT $0 0 THEN NEG $0 $0 OR $2 $2 0x1 ENDIF IF CMP_LT $1 0 THEN NEG $1 $1 OR $2 $2 0x2 ENDIF IF CMP_LT $0 $1 THEN SETV $GW_STATE $0 SETV $0 $1 SETV $1 $GW_STATE OR $2 $2 0x4 ENDIF SETV $GW_STATE $1 THEN MUL $0 $0 256 DIV $0 $0 $1 CMP CMP_LE $0 618 ENDIF ReadTable DT_MENUI $2 2 ADD $0 $GW_STATE GW_RETVAL1 SHL $1 1 $$0 AND $GW_STATE $GW_MENUD $1 THEN SETV $0 $$0 ELSE SHL $1 1 $GW_RETVAL1 AND $GW_STATE $GW_MENUD $1 THEN SETV $0 $GW_RETVAL1 ELSE AND $GW_STATE $GW_MENUF MENUF_MARGIN_DISABLE THEN SETV $0 MENUI_NO_SELECT ELSE AND $GW_STATE $GW_MENUD 0x010 THEN SETV $0 MENUI_CENTER ELSE SETV $0 MENUI_NO_SELECT ENDIF ENDIF ENDIF ENDIF ENDIF ENDIF CMP CMP_NE $GW_MENUI $0 AND $1 $GW_MENUF MENUF_REDRAW OR $GW_STATE $GW_STATE $1 THEN SetTimer 0 XOR $GW_MENUF $GW_MENUF $1 SETV $GW_MENUI $0 CALL F_MENUDISP CALL F_MENUENBL ENDIF endfunc func F_MENUDISP LOCAL 3 AND $0 $GW_MENUF MENUF_GUIDE_STATE IF CMP_EQ $0 MENUF_GUIDE_READY THEN ADD $GW_RETVAL3 $GW_SIPX $GW_SVRX ADD $GW_RETVAL4 $GW_SIPY $GW_SVRY SETV $0 WIN_GUIDE0 SETV $1 $GW_MENUD SUB $GW_RETVAL3 $GW_RETVAL3 KW DO AND $GW_STATE $1 0x049 THEN SHR $GW_RETVAL0 $GW_STATE 2 OR $GW_STATE $GW_STATE $GW_RETVAL0 SHR $GW_RETVAL0 $GW_STATE 2 OR $GW_STATE $GW_STATE $GW_RETVAL0 AND $GW_STATE $GW_STATE 0x7 ReadTable DT_POPUP $GW_STATE 2 ADD $GW_RETVAL1 $GW_RETVAL1 $GW_RETVAL4 OpenWindow $0 $GW_RETVAL3 $GW_RETVAL1 KW $GW_RETVAL2 ENDIF ADD $GW_RETVAL3 $GW_RETVAL3 KW SHR $1 $1 1 ADD $0 $0 1 CMP CMP_LE $0 WIN_GUIDE2 WHILE OR $GW_MENUF $GW_MENUF MENUF_GUIDE_ON ENDIF IF CMP_NE $GW_MENUI MENUI_NO_SELECT THEN ReadTable $GW_MENUT $GW_MENUI 4 DIV $0 $GW_RETVAL1 16 MUL $0 $0 KW ADD $0 $0 KIX MOD $1 $GW_RETVAL1 16 MUL $1 $1 KH SetDisplayList DL_MENU DLTYPE_STRETCH 0 0 MW MH BMP0 $0 $1 KW KH AND $0 $GW_MENUF MENUF_GUIDE_ON CMP CMP_GE POPUP_POSIT 2 OR $GW_STATE $GW_STATE $0 THEN MOD $0 $GW_MENUI 3 MUL $0 $0 X2 SUB $0 $0 KW SUB $0 $0 MW DIV $0 $0 2 DIV $2 $GW_MENUI 3 MUL $2 $2 Y2 SUB $2 $2 KH SUB $2 $2 MH DIV $2 $2 2 ELSE SUB $0 KW MW DIV $0 $0 2 SUB $2 KH MH DIV $2 $2 2 ifsw POPUP_POSIT SUB $2 $2 KH endsw ENDIF ADD $0 $0 $GW_SVRX ADD $2 $2 $GW_SVRY IF CMP_LE $0 X0 THEN SETV $0 X0 ELSE SUB $1 X5 MW THEN ADD $1 $1 X5 ENDIF CMP CMP_GT $0 $1 SETV $0 $$GW_STATE ENDIF ADD $0 $0 $GW_SIPX ADD $2 $2 $GW_SIPY OpenWindow WIN_MENU $0 $2 MW MH ELSE CloseWindow WIN_MENU ENDIF endfunc func F_MENUENBL OR $GW_MENUF $GW_MENUF MENUF_MENU_ENABLE AND $GW_STATE $GW_MENUF MENUF_GUIDE_READY THEN CALL F_TIMER F_MENUHOLD INPUT_START ELSE IF CMP_GT POPUP_START INPUT_START THEN CALL F_TIMER F_MENUHOLD INPUT_START ELSE ReadTable $GW_MENUT $GW_MENUI 4 OR $GW_STATE $GW_STATE $ARG0 IF CMP_EQ $GW_RETVAL1 0 THEN CALL F_TIMER F_MENUHOLD INPUT_START ELSE CALL F_TIMERE F_MENUGUIDE POPUP_START ENDIF ENDIF ENDIF endfunc func F_MAKEGUIDE LOCAL 6 DIV $4 IMG_NO1 16 MUL $4 $4 KW ADD $4 $4 GIX MOD $5 IMG_NO1 16 MUL $5 $5 KH SETV $0 0 SETV $1 $GW_MENUD DO AND $GW_STATE $1 0x049 THEN SHR $GW_RETVAL0 $GW_STATE 2 OR $GW_STATE $GW_STATE $GW_RETVAL0 SHR $GW_RETVAL0 $GW_STATE 2 OR $GW_STATE $GW_STATE $GW_RETVAL0 AND $GW_STATE $GW_STATE 0x7 ReadTable DT_POPUP $GW_STATE 2 MUL $2 $0 4 ADD $2 $2 DL_GUIDE03 ADD $3 $5 $GW_RETVAL1 SetDisplayList $2 DLTYPE_ALPHA 0 0 KW $GW_RETVAL2 BMP0 $4 $3 KW $GW_RETVAL2 POPUP_ALPHA SUB $2 $2 1 SetDisplayList $2 DLTYPE_OFF SUB $2 $2 1 SetDisplayList $2 DLTYPE_OFF SUB $2 $2 1 ADD $3 $GW_RETVAL1 $GW_RETVAL2 DIV $3 $3 KH MUL $3 $3 3 ADD $3 $3 $0 SETV $GW_STATE $GW_RETVAL2 DO SUB $GW_STATE $GW_STATE KH ReadTable $GW_MENUT $3 4 DIV $GW_RETVAL0 $GW_RETVAL1 16 MUL $GW_RETVAL0 $GW_RETVAL0 KW ADD $GW_RETVAL0 $GW_RETVAL0 GIX MOD $GW_RETVAL1 $GW_RETVAL1 16 MUL $GW_RETVAL1 $GW_RETVAL1 KH SetDisplayList $2 DLTYPE_COPY 0 $GW_STATE KW KH BMP0 $GW_RETVAL0 $GW_RETVAL1 ADD $2 $2 1 SUB $3 $3 3 WHILE ENDIF SHR $1 $1 1 ADD $0 $0 1 CMP CMP_LT $0 3 WHILE OR $GW_MENUF $GW_MENUF MENUF_GUIDE_READY endfunc func F_MENUGUIDE SetTimer 0 CALL F_MAKEGUIDE CALL F_MENUDISP OR $GW_MENUF $GW_MENUF MENUF_MARGIN_DISABLE SUB $GW_STATE INPUT_START POPUP_START CALL F_TIMERE F_MENUHOLD $GW_STATE endfunc func F_MENUHOLD CALL F_MENUEXEC 0 CALL F_TIMER F_MENUHOLD INPUT_REPET endfunc func F_MENUUP CloseWindow WIN_MENU CloseWindow WIN_GUIDE2 CloseWindow WIN_GUIDE1 CloseWindow WIN_GUIDE0 AND $GW_MENUF $GW_MENUF 0xfd CALL F_TIMERE F_MENUCLOSE1 1 endfunc func F_MENUCLOSE1 SetTimer 0 SETV $GW_CANCEL F_NIL CALL F_MENUEXEC 1 SETV $GW_MENUF 0 IF CMP_EQ $GW_BLOCK_STATUS 2 THEN CALL F_TIMEOUT ELSE CALL F_TIMERE F_MENUCLOSE2 RELEASE_TUM ENDIF endfunc func F_MENUCLOSE2 SetTimer 0 CALL F_TIMEOUT endfunc func F_MENUCANCEL SetTimer 0 CloseWindow WIN_MENU CloseWindow WIN_GUIDE2 CloseWindow WIN_GUIDE1 CloseWindow WIN_GUIDE0 SETV $GW_CANCEL F_NIL SETV $GW_MENUF 0 endfunc func F_MENUEXEC CMP CMP_NE $GW_MENUI MENUI_NO_SELECT AND $GW_STATE $GW_STATE $GW_MENUF THEN ReadTable $GW_MENUT $GW_MENUI 4 IF CMP_EQ $GW_RETVAL2 F_SEND OR $GW_STATE $GW_STATE $ARG0 THEN CALL $GW_RETVAL2 $GW_RETVAL3 $GW_RETVAL4 ELSE IF CMP_EQ $GW_RETVAL2 F_BACK OR $GW_STATE $GW_STATE $ARG0 THEN CALL $GW_RETVAL2 $GW_RETVAL3 $GW_RETVAL4 ENDIF ENDIF ENDIF endfunc table DT_PANEL dataw 3 dataw EVENT_DOWN -1024 -1024 2048 2048 F_MENUDOWN 0 0 dataw EVENT_MOVE -1024 -1024 2048 2048 F_MENUMOVE 0 0 dataw EVENT_UP -1024 -1024 2048 2048 F_MENUUP 0 0 endtable table DT_POPUP dataw 8 dataw 0 0 -40 Y1 Y0 Y1 -40 Y2 Y1 Y1 -40 Y3 Y0 Y2 -40 Y3 endtable table DT_MENUI dataw 8 dataw 5 8 3 6 5 2 3 0 7 8 7 6 1 2 1 0 endtable table PL_HAN dataw 20 dataw MT_PANEL 0x000 GESTURE_RNG dataw MT_HAN_1 0x000 GESTURE_RNG dataw MT_HAN_2 0x000 GESTURE_RNG dataw MT_HAN_3 0x000 GESTURE_RNG dataw MT_UBACK 0x000 GESTURE_RNG dataw MT_HANJA 0x000 GESTURE_RNG dataw MT_HAN_4 0x000 GESTURE_RNG dataw MT_HAN_5 0x000 GESTURE_RNG dataw MT_HAN_6 0x000 GESTURE_RNG dataw MT_SPACE 0x000 GESTURE_RNG dataw MT_LNAV 0x000 GESTURE_RNG dataw MT_HAN_7 0x000 GESTURE_RNG dataw MT_HAN_8 0x000 GESTURE_RNG dataw MT_HAN_9 0x000 GESTURE_RNG dataw MT_RNAV 0x000 GESTURE_RNG dataw MT_BLOCK 0x000 GESTURE_RNG dataw MT_HAN_A 0x000 GESTURE_RNG dataw MT_HAN_0 0x000 GESTURE_RNG dataw MT_HAN_B 0x000 GESTURE_RNG dataw MT_NUM 0x000 GESTURE_RNG endtable table PL_ENG dataw 20 dataw MT_PANEL 0x000 GESTURE_RNG dataw MT_LNAV 0x000 GESTURE_RNG dataw MT_RNAV 0x000 GESTURE_RNG dataw MT_SPACE 0x000 GESTURE_RNG dataw MT_BACK 0x000 GESTURE_RNG dataw MT_ENG_1 0x000 GESTURE_RNG dataw MT_ENG_2 0x000 GESTURE_RNG dataw MT_ENG_3 0x000 GESTURE_RNG dataw MT_ENG_4 0x000 GESTURE_RNG dataw MT_ENG_5 0x000 GESTURE_RNG dataw MT_ENG_6 0x000 GESTURE_RNG dataw MT_ENG_7 0x000 GESTURE_RNG dataw MT_ENG_8 0x000 GESTURE_RNG dataw MT_ENG_9 0x000 GESTURE_RNG dataw MT_ENG_10 0x000 GESTURE_RNG dataw MT_ENG_11 0x000 GESTURE_RNG dataw MT_ENG_12 0x000 GESTURE_RNG dataw MT_ENG_13 0x000 GESTURE_RNG dataw MT_ENG_14 0x000 GESTURE_RNG dataw MT_MOD 0x000 GESTURE_RNG endtable table PL_SPC dataw 20 dataw MT_PANEL 0x000 GESTURE_RNG dataw MT_LNAV 0x000 GESTURE_RNG dataw MT_RNAV 0x000 GESTURE_RNG dataw MT_SPACE 0x000 GESTURE_RNG dataw MT_BACK 0x000 GESTURE_RNG dataw MT_SPC_1 0x000 GESTURE_RNG dataw MT_SPC_2 0x000 GESTURE_RNG dataw MT_SPC_3 0x000 GESTURE_RNG dataw MT_SPC_4 0x000 GESTURE_RNG dataw MT_SPC_5 0x000 GESTURE_RNG dataw MT_SPC_6 0x000 GESTURE_RNG dataw MT_SPC_7 0x000 GESTURE_RNG dataw MT_SPC_8 0x000 GESTURE_RNG dataw MT_SPC_9 0x000 GESTURE_RNG dataw MT_SPC_10 0x000 GESTURE_RNG dataw MT_SPC_11 0x000 GESTURE_RNG dataw MT_SPC_12 0x000 GESTURE_RNG dataw MT_SPC_13 0x000 GESTURE_RNG dataw MT_SPC_14 0x000 GESTURE_RNG dataw MT_SPC_15 0x000 GESTURE_RNG endtable table PL_NAV dataw 20 dataw MT_PANEL 0x000 GESTURE_RNG dataw MT_HOME 0x000 GESTURE_RNG dataw MT_END 0x000 GESTURE_RNG dataw MT_SPACE 0x000 GESTURE_RNG dataw MT_BACK 0x000 GESTURE_RNG dataw MT_ESC 0x000 GESTURE_RNG dataw MT_NAV_1 0x000 GESTURE_RNG dataw MT_NAV_2 0x000 GESTURE_RNG dataw MT_NAV_3 0x000 GESTURE_RNG dataw MT_PGUP 0x000 GESTURE_RNG dataw MT_DEL 0x000 GESTURE_RNG dataw MT_NAV_4 0x000 GESTURE_RNG dataw MT_NAV_5 0x000 GESTURE_RNG dataw MT_NAV_6 0x000 GESTURE_RNG dataw MT_PGDN 0x000 GESTURE_RNG dataw MT_WIN 0x000 GESTURE_RNG dataw MT_COPY 0x000 GESTURE_RNG dataw MT_PASTE 0x000 GESTURE_RNG dataw MT_CUT 0x000 GESTURE_RNG dataw MT_ALL 0x000 GESTURE_RNG endtable table MT_PANEL dataw 9 dataw 0 0 0 0 dataw IMG_SPC F_PANEL PL_SPC 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_HAN F_PANEL PL_HAN 0 dataw IMG_ENG F_PANEL PL_ENG 0 dataw 0 0 0 0 dataw IMG_NAV F_PANEL PL_NAV 0 dataw 0 0 0 0 endtable table MT_PGUP dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_PGUP 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_PGDN dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_PGDN 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_DEL dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_DEL 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_ESC dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_ESC 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_HOME dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_HOME 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_END dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_SEND VK_END 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_WIN dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ONE VK_WIN 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_COPY dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ONE 'C' CTRL dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_PASTE dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ONE 'V' CTRL dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_CUT dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ONE 'X' CTRL dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_ALL dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ONE 'A' CTRL dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPACE dataw 9 dataw 0 0 0 0 dataw IMG_PASTE F_ONE 'V' CTRL dataw IMG_STAB F_ONE VK_TAB SHIFT dataw IMG_CUT F_ONE 'X' CTRL dataw IMG_SPACE F_ONE VK_SPACE 0 dataw IMG_TAB F_ONE VK_TAB 0 dataw 0 0 0 0 dataw IMG_COPY F_ONE 'C' CTRL dataw 0 0 0 0 endtable table MT_MOD dataw 9 dataw IMG_ALL F_ONE 'A' CTRL dataw IMG_CAPS F_SHIFT 2 0 dataw 0 0 0 0 dataw IMG_NUM F_NUM 0 0 dataw IMG_SHIFT F_SHIFT 1 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_NUM dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_NUM 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_BACK dataw 9 dataw IMG_CLEAR F_CLEAR 0 0 dataw IMG_UNDO F_ONE 'Z' CTRL dataw 0 0 0 0 dataw IMG_DEL F_SEND VK_DEL 0 dataw IMG_LEFT F_SEND VK_BACK 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_ENTER F_ONE VK_ENTER 0 dataw 0 0 0 0 endtable table MT_UBACK dataw 9 dataw IMG_CLEAR F_CLEAR 0 0 dataw IMG_UNDO F_ONE 'Z' CTRL dataw 0 0 0 0 dataw IMG_DEL F_SEND VK_DEL 0 dataw IMG_LEFT F_BACK 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_ENTER F_ONE VK_ENTER 0 dataw 0 0 0 0 endtable table MT_HANJA dataw 9 dataw 0 0 0 0 dataw IMG_PGUP F_SEND VK_PGUP 0 dataw IMG_STAB F_ONE VK_TAB SHIFT dataw 0 0 0 0 dataw IMG_HANJA F_ONE VK_HANJA 0 dataw IMG_TAB F_ONE VK_TAB 0 dataw 0 0 0 0 dataw IMG_PGDN F_SEND VK_PGDN 0 dataw 0 0 0 0 endtable table MT_LNAV dataw 9 dataw IMG_PGUP F_SEND VK_PGUP 0 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_END F_SEND VK_END 0 dataw IMG_HOME F_SEND VK_HOME 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 dataw IMG_PGDN F_SEND VK_PGDN 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_END F_SEND VK_END 0 endtable table MT_RNAV dataw 9 dataw IMG_HOME F_SEND VK_HOME 0 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_PGUP F_SEND VK_PGUP 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 dataw IMG_END F_SEND VK_END 0 dataw IMG_HOME F_SEND VK_HOME 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_PGDN F_SEND VK_PGDN 0 endtable table MT_BLOCK dataw 9 dataw 0 0 0 0 dataw IMG_ALL F_ONE 'A' CTRL dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_SLEFT F_SEND VK_LEFT SHIFT dataw IMG_SRIGHT F_SEND VK_RIGHT SHIFT dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_HAN_1 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0031 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x003f 0 dataw 0 F_UNICODE_GI 0 0 dataw 0 F_CHAR 0x0021 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x007e 0 dataw 0 0 0 0 endtable table MT_HAN_2 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0032 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x005e 0 dataw 0 F_UNICODE_NI 0 0 dataw 0 F_CHAR 0x002d 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x005f 0 dataw 0 0 0 0 endtable table MT_HAN_3 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0033 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002b 0 dataw 0 F_TRANS_A 0 0 dataw 0 F_CHAR 0x003d 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002a 0 dataw 0 0 0 0 endtable table MT_HAN_4 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0034 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x003a 0 dataw 0 F_UNICODE_LI 0 0 dataw 0 F_CHAR 0x003b 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x005c 0 dataw 0 0 0 0 endtable table MT_HAN_5 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0035 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002c 0 dataw 0 F_UNICODE_MI 0 0 dataw 0 F_CHAR 0x002e 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002f 0 dataw 0 0 0 0 endtable table MT_HAN_6 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0036 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0027 0 dataw 0 F_TRANS_O 0 0 dataw 0 F_CHAR 0x0022 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0040 0 dataw 0 0 0 0 endtable table MT_HAN_7 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0037 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0028 0 dataw 0 F_UNICODE_SI 0 0 dataw 0 F_CHAR 0x0029 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0023 0 dataw 0 0 0 0 endtable table MT_HAN_8 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0038 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x003c 0 dataw 0 F_UNICODE_EI 0 0 dataw 0 F_CHAR 0x003e 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0024 0 dataw 0 0 0 0 endtable table MT_HAN_9 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0039 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0026 0 dataw 0 F_TRANS_I 0 0 dataw 0 F_CHAR 0x203b 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0025 0 dataw 0 0 0 0 endtable table MT_HAN_0 dataw 9 dataw 0 F_CHAR 0x007b 0 dataw 0 F_CHAR 0x0030 0 dataw 0 F_CHAR 0x007d 0 dataw 0 F_CHAR 0x005b 0 dataw 0 F_TRANS_EU 0 0 dataw 0 F_CHAR 0x005d 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_HAN_A dataw 9 dataw 0 0 0 0 dataw 0 F_TRANS_O 0 0 dataw 0 0 0 0 dataw 0 F_TRANS_EO 0 0 dataw 0 F_TRANS_1 0 0 dataw 0 F_TRANS_A 0 0 dataw 0 0 0 0 dataw 0 F_TRANS_U 0 0 dataw 0 0 0 0 endtable table MT_HAN_B dataw 9 dataw 0 0 0 0 dataw 0 F_TRANS_O 0 0 dataw 0 0 0 0 dataw 0 F_TRANS_EO 0 0 dataw 0 F_TRANS_2 0 0 dataw 0 F_TRANS_A 0 0 dataw 0 0 0 0 dataw 0 F_TRANS_U 0 0 dataw 0 0 0 0 endtable table MT_ENG_1 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0031 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ENG 0x0071 0x0031 dataw 0 F_ENG 0x0077 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0021 0 dataw 0 0 0 0 endtable table MT_ENG_2 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0032 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0040 0 dataw 0 F_ENG 0x0065 0x0032 dataw 0 F_ENG 0x0072 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002b 0 dataw 0 0 0 0 endtable table MT_ENG_3 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0033 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0023 0 dataw 0 F_ENG 0x0074 0x0033 dataw 0 F_ENG 0x0079 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002d 0 dataw 0 0 0 0 endtable table MT_ENG_4 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0034 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0024 0 dataw 0 F_ENG 0x0075 0x0034 dataw 0 F_ENG 0x0069 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x005f 0 dataw 0 0 0 0 endtable table MT_ENG_5 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0035 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0025 0 dataw 0 F_ENG 0x006f 0x0035 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ENG 0x0070 0 dataw 0 0 0 0 endtable table MT_ENG_6 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0036 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ENG 0x0061 0x0036 dataw 0 F_ENG 0x0073 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x005e 0 dataw 0 0 0 0 endtable table MT_ENG_7 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0037 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0026 0 dataw 0 F_ENG 0x0064 0x0037 dataw 0 F_ENG 0x0066 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0027 0 dataw 0 0 0 0 endtable table MT_ENG_8 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0038 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x002a 0 dataw 0 F_ENG 0x0067 0x0038 dataw 0 F_ENG 0x0068 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0022 0 dataw 0 0 0 0 endtable table MT_ENG_9 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0039 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0028 0 dataw 0 F_ENG 0x006a 0x0039 dataw 0 F_ENG 0x006b 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x003a 0 dataw 0 0 0 0 endtable table MT_ENG_10 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x0030 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x0029 0 dataw 0 F_ENG 0x006c 0x0030 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x003b 0 dataw 0 0 0 0 endtable table MT_ENG_11 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x007e 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_ENG 0x007a 0 dataw 0 F_ENG 0x0078 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_ENG_12 dataw 9 dataw 0 F_CHAR 0x005b 0 dataw 0 F_CHAR 0x003f 0 dataw 0 F_CHAR 0x005d 0 dataw 0 F_CHAR 0x002f 0 dataw 0 F_ENG 0x0063 0 dataw 0 F_ENG 0x0076 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_ENG_13 dataw 9 dataw 0 F_CHAR 0x007b 0 dataw 0 F_CHAR 0x003d 0 dataw 0 F_CHAR 0x007d 0 dataw 0 F_CHAR 0x005c 0 dataw 0 F_ENG 0x0062 0 dataw 0 F_ENG 0x006e 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_ENG_14 dataw 9 dataw 0 F_CHAR 0x003c 0 dataw 0 F_CHAR 0x007c 0 dataw 0 F_CHAR 0x003e 0 dataw 0 F_CHAR 0x002c 0 dataw 0 F_ENG 0x006d 0 dataw 0 F_CHAR 0x002e 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPC_1 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x2605 0 dataw 0 F_CHAR 0x2606 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x2665 0 dataw 0 F_CHAR 0x2661 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x261e 0 dataw 0 F_CHAR 0x261c 0 endtable table MT_SPC_2 dataw 9 dataw 0 F_CHAR 0x2669 0 dataw 0 F_CHAR 0x3180 0 dataw 0 F_CHAR 0x02d0 0 dataw 0 F_CHAR 0x266c 0 dataw 0 F_CHAR 0x203b 0 dataw 0 F_CHAR 0x00b7 0 dataw 0 F_CHAR 0x266a 0 dataw 0 F_CHAR 0x266d 0 dataw 0 F_CHAR 0x00b6 0 endtable table MT_SPC_3 dataw 9 dataw 0 F_CHAR 0x2196 0 dataw 0 F_CHAR 0x25b2 0 dataw 0 F_CHAR 0x2197 0 dataw 0 F_CHAR 0x25c0 0 dataw 0 F_CHAR 0x260e 0 dataw 0 F_CHAR 0x25b6 0 dataw 0 F_CHAR 0x2199 0 dataw 0 F_CHAR 0x25bc 0 dataw 0 F_CHAR 0x2198 0 endtable table MT_SPC_4 dataw 9 dataw 0 F_CHAR 0x3010 0 dataw 0 F_CHAR 0x3003 0 dataw 0 F_CHAR 0x3011 0 dataw 0 F_CHAR 0x300a 0 dataw 0 F_CHAR 0x2668 0 dataw 0 F_CHAR 0x300b 0 dataw 0 F_CHAR 0x300c 0 dataw 0 F_CHAR 0x2026 0 dataw 0 F_CHAR 0x300d 0 endtable table MT_SPC_5 dataw 9 dataw 0 F_CHAR 0x25c7 0 dataw 0 F_CHAR 0x25a1 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x25c6 0 dataw 0 F_CHAR 0x25a0 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x25c8 0 dataw 0 F_CHAR 0x25a3 0 dataw 0 0 0 0 endtable table MT_SPC_6 dataw 9 dataw 0 0 0 0 dataw 0 F_CHAR 0x2660 0 dataw 0 F_CHAR 0x2664 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x2663 0 dataw 0 F_CHAR 0x2667 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x2642 0 dataw 0 F_CHAR 0x2640 0 endtable table MT_SPC_7 dataw 9 dataw 0 F_CHAR 0x2234 0 dataw 0 F_CHAR 0x00f7 0 dataw 0 F_CHAR 0x2235 0 dataw 0 F_CHAR 0x2260 0 dataw 0 F_CHAR 0x2122 0 dataw 0 F_CHAR 0x2252 0 dataw 0 F_CHAR 0x221a 0 dataw 0 F_CHAR 0x00d7 0 dataw 0 F_CHAR 0x222b 0 endtable table MT_SPC_8 dataw 9 dataw 0 F_CHAR 0x2227 0 dataw 0 F_CHAR 0x2191 0 dataw 0 F_CHAR 0x25b3 0 dataw 0 F_CHAR 0x2190 0 dataw 0 F_CHAR 0x2103 0 dataw 0 F_CHAR 0x2192 0 dataw 0 F_CHAR 0x2228 0 dataw 0 F_CHAR 0x2193 0 dataw 0 F_CHAR 0x25bd 0 endtable table MT_SPC_9 dataw 9 dataw 0 F_CHAR 0x2264 0 dataw 0 F_CHAR 0x2195 0 dataw 0 F_CHAR 0x2265 0 dataw 0 F_CHAR 0x00bf 0 dataw 0 F_CHAR 0x2200 0 dataw 0 F_CHAR 0x00a1 0 dataw 0 F_CHAR 0x25c1 0 dataw 0 F_CHAR 0x2194 0 dataw 0 F_CHAR 0x25b7 0 endtable table MT_SPC_10 dataw 9 dataw 0 F_CHAR 0x25d0 0 dataw 0 F_CHAR 0x25d1 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x25cb 0 dataw 0 F_CHAR 0x25cf 0 dataw 0 0 0 0 dataw 0 F_CHAR 0x25ce 0 dataw 0 F_CHAR 0x2299 0 dataw 0 0 0 0 endtable table MT_SPC_11 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_EI_HANJA 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPC_12 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_BI_HANJA 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPC_13 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 F_PI_HANJA 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPC_14 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_SPC_15 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_NAV_1 dataw 9 dataw IMG_PGUP F_SEND VK_PGUP SHIFT dataw IMG_UP F_SEND VK_UP SHIFT dataw IMG_END F_SEND VK_END SHIFT dataw IMG_HOME F_SEND VK_HOME SHIFT dataw IMG_SLEFT F_SEND VK_LEFT SHIFT dataw IMG_SRIGHT F_SEND VK_RIGHT SHIFT dataw IMG_PGDN F_SEND VK_PGDN SHIFT dataw IMG_DOWN F_SEND VK_DOWN SHIFT dataw IMG_END F_SEND VK_END SHIFT endtable table MT_NAV_2 dataw 9 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw IMG_UP F_SEND VK_UP 0 dataw 0 0 0 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 endtable table MT_NAV_3 dataw 9 dataw IMG_HOME F_SEND VK_HOME SHIFT dataw IMG_UP F_SEND VK_UP SHIFT dataw IMG_PGUP F_SEND VK_PGUP SHIFT dataw IMG_SLEFT F_SEND VK_LEFT SHIFT dataw IMG_SRIGHT F_SEND VK_RIGHT SHIFT dataw IMG_END F_SEND VK_END SHIFT dataw IMG_HOME F_SEND VK_HOME SHIFT dataw IMG_DOWN F_SEND VK_DOWN SHIFT dataw IMG_PGDN F_SEND VK_PGDN SHIFT endtable table MT_NAV_4 dataw 9 dataw 0 0 0 0 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_UP F_SEND VK_UP 0 dataw 0 0 0 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 dataw 0 0 0 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_DOWN F_SEND VK_DOWN 0 endtable table MT_NAV_5 dataw 9 dataw 0 0 0 0 dataw IMG_UP F_SEND VK_UP 0 dataw 0 0 0 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 dataw 0 0 0 0 dataw 0 0 0 0 dataw 0 0 0 0 endtable table MT_NAV_6 dataw 9 dataw IMG_UP F_SEND VK_UP 0 dataw IMG_UP F_SEND VK_UP 0 dataw 0 0 0 0 dataw IMG_LEFT F_SEND VK_LEFT 0 dataw IMG_RIGHT F_SEND VK_RIGHT 0 dataw 0 0 0 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw IMG_DOWN F_SEND VK_DOWN 0 dataw 0 0 0 0 endtable