- Timestamp:
- Mar 19, 2003, 11:29:48 AM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/oslibmsgtranslate.cpp
r9897 r9924 1 /* $Id: oslibmsgtranslate.cpp,v 1.10 3 2003-03-04 15:57:35sandervl Exp $ */1 /* $Id: oslibmsgtranslate.cpp,v 1.104 2003-03-19 10:29:48 sandervl Exp $ */ 2 2 /* 3 3 * Window message translation functions for OS/2 … … 634 634 // special char message from the keyboard hook 635 635 dprintf(("PM: WM_CHAR_SPECIAL_ALTGRCONTROL")); 636 637 636 // NO BREAK! FALLTHRU CASE! 638 637 } … … 645 644 dprintf(("PM: WM_CHAR_SPECIAL")); 646 645 } 647 648 646 // NO BREAK! FALLTHRU CASE! 649 647 } … … 688 686 winMsg->lParam = winMsg->lParam | WIN_KEY_EXTENDED; 689 687 690 if (!numPressed && (scanCode >= PMSCAN_PAD7) && (scanCode <= PMSCAN_PADPERIOD)) 688 //PF When we press shift we enable non-numeric functions of Numpad 689 if ((!numPressed || (flags & KC_SHIFT)) && (scanCode >= PMSCAN_PAD7) && (scanCode <= PMSCAN_PADPERIOD)) 691 690 winMsg->wParam = ConvertNumPadKey(scanCode); 692 691 … … 1035 1034 TEB *teb; 1036 1035 MSG extramsg; 1037 1036 BOOL numPressed = (BOOL)(WinGetKeyState(HWND_DESKTOP,VK_NUMLOCK) & 1); 1038 1037 teb = GetThreadTEB(); 1039 1038 if(!teb) … … 1042 1041 UCHAR ucPMScanCode = CHAR4FROMMP(teb->o.odin.os2msg.mp1); 1043 1042 ULONG fl = SHORT1FROMMP(teb->o.odin.os2msg.mp1); 1044 1043 1045 1044 1046 1045 //NOTE: These actually need to be posted so that the next message retrieved by GetMessage contains … … 1064 1063 break; 1065 1064 } 1065 1066 // PF With NumLock off do not generate any WM_CHAR messages at all 1067 // PADMINUS,PADPLUS fall in range of PAD7..PADPERIOD but they should generate WM_CHAR 1068 // other PAD(X) buttons miss that range at all and thus generate WM_CHAR 1069 if (!numPressed && (ucPMScanCode != PMSCAN_PADMINUS) && (ucPMScanCode != PMSCAN_PADPLUS) && 1070 (ucPMScanCode >= PMSCAN_PAD7) && (ucPMScanCode <= PMSCAN_PADPERIOD)) 1071 return FALSE; 1066 1072 1067 1073 if(!(fl & KC_CHAR) && msg->message < WINWM_SYSKEYDOWN) … … 1081 1087 extramsg.wParam = msg->wParam - 0x30; 1082 1088 else 1083 extramsg.wParam = msg->wParam; 1089 if (msg->wParam == VK_DECIMAL_W) 1090 extramsg.wParam = VK_DELETE_W; 1091 else 1092 /* PM Sends Bogus Things when pressing Shift+NUMAsterisk */ 1093 if (msg->wParam != VK_MULTIPLY_W) 1094 extramsg.wParam = msg->wParam; 1084 1095 } 1085 1096 else
Note:
See TracChangeset
for help on using the changeset viewer.