svnno****@sourc*****
svnno****@sourc*****
2010年 3月 4日 (木) 10:19:38 JST
Revision: 3805 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=3805 Author: doda Date: 2010-03-04 10:19:38 +0900 (Thu, 04 Mar 2010) Log Message: ----------- KEYBOARD.CNF で ALT+Key に機能や文字列を割り当てた時、余計な文字列が追加で出力されるのを修正。 # http://logmett.com/forum/viewtopic.php?f=2&t=1332 Modified Paths: -------------- trunk/teraterm/teraterm/keyboard.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/keyboard.c =================================================================== --- trunk/teraterm/teraterm/keyboard.c 2010-02-25 12:38:47 UTC (rev 3804) +++ trunk/teraterm/teraterm/keyboard.c 2010-03-04 01:19:38 UTC (rev 3805) @@ -615,18 +615,22 @@ PeekMessage((LPMSG)&M,HWin,WM_SYSCHAR,WM_SYSCHAR,PM_REMOVE); } } - else if ((IdUDK6<=Key) && (Key<=IdUDK20) && - (FuncKeyLen[Key-IdUDK6]>0)) - { - memcpy(Code,&FuncKeyStr[Key-IdUDK6][0],FuncKeyLen[Key-IdUDK6]); - CodeLength = FuncKeyLen[Key-IdUDK6]; - CodeType = IdBinary; + else { + if ((ts.MetaKey>0) && AltKey()) { + PeekMessage((LPMSG)&M,HWin,WM_SYSCHAR,WM_SYSCHAR,PM_REMOVE); + } + + if ((IdUDK6<=Key) && (Key<=IdUDK20) && (FuncKeyLen[Key-IdUDK6]>0)) { + memcpy(Code,&FuncKeyStr[Key-IdUDK6][0],FuncKeyLen[Key-IdUDK6]); + CodeLength = FuncKeyLen[Key-IdUDK6]; + CodeType = IdBinary; + } + else + GetKeyStr(HWin,KeyMap,Key, + AppliKeyMode && ! ts.DisableAppKeypad, + AppliCursorMode && ! ts.DisableAppCursor, + Send8BitMode, Code, sizeof(Code), &CodeLength, &CodeType); } - else - GetKeyStr(HWin,KeyMap,Key, - AppliKeyMode && ! ts.DisableAppKeypad, - AppliCursorMode && ! ts.DisableAppCursor, - Send8BitMode, Code, sizeof(Code), &CodeLength, &CodeType); if (CodeLength==0) return KEYDOWN_OTHER;