Changeset 10216 for trunk/src/user32/oslibmsgtranslate.cpp
- Timestamp:
- Aug 8, 2003, 3:30:22 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibmsgtranslate.cpp
r10212 r10216 1 /* $Id: oslibmsgtranslate.cpp,v 1.11 4 2003-08-06 11:00:45sandervl Exp $ */1 /* $Id: oslibmsgtranslate.cpp,v 1.115 2003-08-08 13:30:19 sandervl Exp $ */ 2 2 /* 3 3 * Window message translation functions for OS/2 … … 720 720 WORD wWinScan; 721 721 722 if ( (!IsDBCSEnv() && scanCode == 0) || 723 (scanCode==0 ) && !( flags & KC_CHAR ) ) 722 if ( (!IsDBCSEnv() && scanCode == 0) || 723 (scanCode==0 ) && !( flags & KC_CHAR ) ) 724 724 { 725 725 goto dummymessage; … … 746 746 if( CHAR2FROMMP( os2Msg->mp2 )) // DBCS character 747 747 { 748 CHAR dbcsCh[ 2 ] = { CHAR1FROMMP( os2Msg->mp2 ), CHAR2FROMMP( os2Msg->mp2 )}; 749 748 750 if( isUnicode ) 749 751 { 750 char dbcsCh[] = { CHAR1FROMMP( os2Msg->mp2 ), CHAR2FROMMP( os2Msg->mp2 ), 0 }; 751 WCHAR uniChar[ 2 ]; 752 753 lstrcpynAtoW(( LPWSTR )&uniChar, ( LPCSTR )&dbcsCh, 2 ); 754 winMsg->wParam = ( WPARAM )uniChar[ 0 ]; 752 WCHAR uniChar; 753 754 MultiByteToWideChar( CP_ACP, 0, dbcsCh, 2, &uniChar, 1 ); 755 winMsg->wParam = ( WPARAM )uniChar; 755 756 } 756 // insert DBCS trail byte for Non-Unicode window 757 else if(fMsgRemoved && !(teb->o.odin.fTranslated)) 758 { 759 MSG extramsg; 760 memcpy(&extramsg, winMsg, sizeof(MSG)); 761 762 //After SetFocus(0), all keystrokes are converted in WM_SYS* 763 extramsg.message = (fIgnoreKeystrokes) ? WINWM_SYSCHAR : WINWM_CHAR; 764 765 extramsg.wParam = CHAR2FROMMP( os2Msg->mp2 ); 766 extramsg.lParam = 0; 767 768 setThreadQueueExtraCharMessage(teb, &extramsg); 769 } 757 else 758 winMsg->wParam = ( dbcsCh[ 0 ] << 8 ) | dbcsCh[ 1 ]; 770 759 } 771 760 } … … 830 819 else if( scanCode == 0 ) 831 820 { 832 //After SetFocus(0), all keystrokes are converted in WM_SYS* 833 winMsg->message = (fIgnoreKeystrokes) ? WINWM_SYSCHAR : WINWM_CHAR; 821 if( CHAR2FROMMP( os2Msg->mp2 )) 822 winMsg->message = WINWM_IME_CHAR; 823 else 824 { 825 //After SetFocus(0), all keystrokes are converted in WM_SYS* 826 winMsg->message = (fIgnoreKeystrokes) ? WINWM_SYSCHAR : WINWM_CHAR; 827 } 834 828 } 835 829 else
Note:
See TracChangeset
for help on using the changeset viewer.