Changeset 9897 for trunk/src/user32/oslibmsgtranslate.cpp
- Timestamp:
- Mar 4, 2003, 4:57:35 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibmsgtranslate.cpp
r9814 r9897 1 /* $Id: oslibmsgtranslate.cpp,v 1.10 2 2003-02-16 18:29:26sandervl Exp $ */1 /* $Id: oslibmsgtranslate.cpp,v 1.103 2003-03-04 15:57:35 sandervl Exp $ */ 2 2 /* 3 3 * Window message translation functions for OS/2 … … 69 69 //****************************************************************************** 70 70 //****************************************************************************** 71 ULONG ConvertNumPadKey(ULONG pmScan) 72 { 73 ULONG ret; 74 BYTE winKey; 75 76 switch (pmScan) 77 { 78 case PMSCAN_PAD7: ret = PMSCAN_HOME; break; 79 case PMSCAN_PAD8: ret = PMSCAN_UP; break; 80 case PMSCAN_PAD9: ret = PMSCAN_PAGEUP; break; 81 case PMSCAN_PAD4: ret = PMSCAN_LEFT; break; 82 case PMSCAN_PAD6: ret = PMSCAN_RIGHT; break; 83 case PMSCAN_PAD1: ret = PMSCAN_END; break; 84 case PMSCAN_PAD2: ret = PMSCAN_DOWN; break; 85 case PMSCAN_PAD3: ret = PMSCAN_PAGEDOWN; break; 86 case PMSCAN_PAD0: ret = PMSCAN_INSERT; break; 87 case PMSCAN_PADPERIOD: ret = PMSCAN_DELETE; break; 88 default: 89 ret = pmScan; 90 } 91 92 KeyTranslatePMScanToWinVKey(ret, FALSE, (PBYTE)&winKey, NULL, NULL); 93 return winKey; 94 95 } 96 //****************************************************************************** 97 //****************************************************************************** 71 98 ULONG GetMouseKeyState() 72 99 { … … 630 657 ULONG flags = SHORT1FROMMP(os2Msg->mp1); 631 658 BOOL keyWasPressed; 659 BOOL numPressed = (BOOL)(WinGetKeyState(HWND_DESKTOP,VK_NUMLOCK) & 1); 632 660 char c; 633 661 USHORT usPMScanCode = CHAR4FROMMP(os2Msg->mp1); … … 638 666 keyWasPressed = ((SHORT1FROMMP (os2Msg->mp1) & KC_PREVDOWN) == KC_PREVDOWN); 639 667 640 dprintf(("PM: WM_CHAR: %x %x rep=%d scancode=%x ", SHORT1FROMMP(os2Msg->mp2), SHORT2FROMMP(os2Msg->mp2), repeatCount, scanCode));668 dprintf(("PM: WM_CHAR: %x %x rep=%d scancode=%x num=%d", SHORT1FROMMP(os2Msg->mp2), SHORT2FROMMP(os2Msg->mp2), repeatCount, scanCode, numPressed)); 641 669 dprintf(("PM: WM_CHAR: hwnd %x flags %x mp1 %x, mp2 %x, time=%08xh", win32wnd->getWindowHandle(), flags, os2Msg->mp1, os2Msg->mp2, os2Msg->time)); 642 670 643 671 BOOL fWinExtended; 644 672 BYTE bWinVKey; … … 647 675 if (scanCode==0) goto dummymessage; 648 676 649 // Note: Numlock-state currently ignored, see below650 677 KeyTranslatePMScanToWinVKey(usPMScanCode, 651 678 FALSE, … … 661 688 winMsg->lParam = winMsg->lParam | WIN_KEY_EXTENDED; 662 689 663 #if 0 664 //TODO 665 // Adjust VKEY value for pad digits if NumLock is on 666 if ((scanCode >= 0x47) && (scanCode <= 0x53) && 667 (virtualKey >= 0x30) && (virtualKey >= 39)) 668 winMsg->wParam = virtualKey + 0x30; 669 #endif 670 690 if (!numPressed && (scanCode >= PMSCAN_PAD7) && (scanCode <= PMSCAN_PADPERIOD)) 691 winMsg->wParam = ConvertNumPadKey(scanCode); 671 692 672 693 //@PF This looks ugly but this is just what we have in win32 both in win98/win2k … … 1052 1073 //be combined with the previous dead key, so we must use the scancode 1053 1074 //(e.g. ^ on german keyboards) 1054 if( fl & (KC_VIRTUALKEY|KC_COMPOSITE) == KC_VIRTUALKEY)1075 if((fl & (KC_VIRTUALKEY|KC_COMPOSITE)) == KC_VIRTUALKEY) 1055 1076 { 1056 1077 if(msg->wParam)
Note:
See TracChangeset
for help on using the changeset viewer.