Ignore:
Timestamp:
Dec 12, 2001, 5:40:45 PM (24 years ago)
Author:
sandervl
Message:

SendInput fix + handle Alt-F4 in default window handler

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/oslibmsgtranslate.cpp

    r7612 r7620  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.78 2001-12-11 17:34:53 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.79 2001-12-12 16:40:43 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    557557      USHORT scanCode=0;
    558558      ULONG  flags = SHORT1FROMMP(os2Msg->mp1);
    559       BOOL   keyWasPressed, isExtended = FALSE;
     559      BOOL   keyWasPressed;
    560560      char   c;
    561561      USHORT usPMScanCode = CHAR4FROMMP(os2Msg->mp1);
    562562
    563       teb->o.odin.fTranslated = FALSE;
    564       repeatCount = CHAR3FROMMP(os2Msg->mp1);
    565       scanCode = CHAR4FROMMP(os2Msg->mp1);
    566       keyWasPressed = ((SHORT1FROMMP (os2Msg->mp1) & KC_PREVDOWN) == KC_PREVDOWN);
     563        teb->o.odin.fTranslated = FALSE;
     564        repeatCount = CHAR3FROMMP(os2Msg->mp1);
     565        scanCode = CHAR4FROMMP(os2Msg->mp1);
     566        keyWasPressed = ((SHORT1FROMMP (os2Msg->mp1) & KC_PREVDOWN) == KC_PREVDOWN);
    567567
    568568        dprintf(("PM: WM_CHAR: %x %x rep=%d scancode=%x", SHORT1FROMMP(os2Msg->mp2), SHORT2FROMMP(os2Msg->mp2), repeatCount, scanCode));
    569569        dprintf(("PM: WM_CHAR: hwnd %x flags %x mp1 %x, mp2 %x, time=%08xh", win32wnd->getWindowHandle(), flags, os2Msg->mp1, os2Msg->mp2, os2Msg->time));
    570570
    571         // vitali add begin
    572         if ( ( SHORT1FROMMP(os2Msg->mp2) & 0x0FF ) == 0x0E0 )
    573         {
    574             // an extended key ( arrows, ins, del and so on )
    575             // get "virtual" scancode from character code because
    576             // for "regular" keys they are equal
    577             if(!(flags & (KC_SHIFT|KC_ALT|KC_CTRL))) {
    578                 scanCode = ( SHORT1FROMMP(os2Msg->mp2) >> 8) & 0x0FF;
    579             }
    580             isExtended = TRUE;
    581         }
    582         // vitali add end
    583      
    584         // both WM_KEYUP & WM_KEYDOWN want a virtual key, find the right Win32 virtual key
    585         // given the OS/2 virtual key and OS/2 character
    586 
    587         //if (((SHORT1FROMMP (mp1) & KC_CHAR) == KC_CHAR) ||
    588         //    ((SHORT1FROMMP (mp1) & KC_LONEKEY) == KC_LONEKEY))
    589         c = 0;
    590         if ((SHORT1FROMMP (os2Msg->mp1) & 0xFF) != 0)
    591         {
    592             c = SHORT1FROMMP (os2Msg->mp2);
    593             if ((c >= 'A') && (c <= 'Z')) {
    594                 virtualKey = c;
    595                 goto VirtualKeyFound;
    596             }
    597             if ((c >='a') && (c <= 'z')) {
    598                 virtualKey = c - 32;   // make it uppercase
    599                 goto VirtualKeyFound;
    600             }
    601             if ((c >= '0') && (c <= '9')) {
    602                 virtualKey = c;
    603                 goto VirtualKeyFound;
    604             }
    605         }
    606 
    607 VirtualKeyFound:
    608 //        dprintf (("VIRTUALKEYFOUND:(%x)", virtualKey));
    609      
    610         // @@@PH: what's this supposed to be?
    611         // Adjust PM scancodes for Win* keys
    612         if (scanCode >= 0x70)
    613           scanCode -= 0x10;
    614         // winMsg->wParam  = pmscan2winkey[scanCode][0];
    615         // wWinScan  = pmscan2winkey[scanCode][1];
    616      
    617       {
    618571        BOOL  fWinExtended;
    619572        BYTE  bWinVKey;
     
    633586        if (fWinExtended)
    634587            winMsg->lParam = winMsg->lParam | WIN_KEY_EXTENDED;
    635       }
    636 
     588
     589#if 0
     590//TODO
    637591        // Adjust VKEY value for pad digits if NumLock is on
    638592        if ((scanCode >= 0x47) && (scanCode <= 0x53) &&
    639593            (virtualKey >= 0x30) && (virtualKey >= 39))
    640594            winMsg->wParam = virtualKey + 0x30;
    641      
     595#endif
    642596
    643597#ifdef ALTGR_HACK
Note: See TracChangeset for help on using the changeset viewer.