Ignore:
Timestamp:
Feb 10, 2004, 4:36:04 PM (22 years ago)
Author:
sandervl
Message:

Rewrote keyboard hook handler to post messages and swallow the one it gets from PM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/kbdhook.cpp

    r10382 r10443  
    1 /* $Id: kbdhook.cpp,v 1.1 2004-01-12 09:55:25 sandervl Exp $ */
     1/* $Id: kbdhook.cpp,v 1.2 2004-02-10 15:36:04 sandervl Exp $ */
    22/*
    33 * OS/2 native Presentation Manager hooks
     
    211211               // and won't translate the message to anything else.
    212212
    213                pqmsg->msg = WM_CHAR_SPECIAL;
    214 
    215                break;
     213               WinPostMsg(pqmsg->hwnd, WM_CHAR_SPECIAL, pqmsg->mp1, pqmsg->mp2);
     214               return TRUE;
    216215
    217216        //
     
    253252
    254253                flags = SHORT1FROMMP(pqmsg->mp1);
    255 
    256                 pqmsg->msg = WM_CHAR_SPECIAL;
    257254
    258255                if (flags & KC_KEYUP)
     
    267264                      mp1 |= (KC_ALT | KC_KEYUP | KC_VIRTUALKEY | KC_SCANCODE);
    268265                      mp2  = (VK_CTRL << 16);           //virtual keycode
    269                       pqmsg->msg = WM_CHAR_SPECIAL_ALTGRCONTROL;
    270                       pqmsg->mp1 = (MPARAM)mp1;
    271                       pqmsg->mp2 = (MPARAM)mp2;
     266                      WinPostMsg(msg.hwnd, WM_CHAR_SPECIAL_ALTGRCONTROL, (MPARAM)mp1, (MPARAM)mp2);
    272267
    273268                      //and finally, post the AltGr WM_CHAR message
    274269                      WinPostMsg(msg.hwnd, WM_CHAR_SPECIAL, msg.mp1, msg.mp2);
    275270                  }
    276                   //else do nothing
     271                  else {
     272                      WinPostMsg(pqmsg->hwnd, WM_CHAR_SPECIAL, pqmsg->mp1, pqmsg->mp2);
     273                  }
    277274               }
    278275               else
     
    287284                      mp1 |= (KC_KEYUP | KC_VIRTUALKEY | KC_SCANCODE);
    288285                      mp2  = (VK_CTRL << 16);           //virtual keycode
    289                       pqmsg->msg = WM_CHAR_SPECIAL_ALTGRCONTROL;
    290                       pqmsg->mp1 = (MPARAM)mp1;
    291                       pqmsg->mp2 = (MPARAM)mp2;
     286
     287                      WinPostMsg(pqmsg->hwnd, WM_CHAR_SPECIAL_ALTGRCONTROL, (MPARAM)mp1, (MPARAM)mp2);
    292288                  }
    293289                  //send left control key down message
     
    305301                  {
    306302                      //translate this message into control key down
    307                       pqmsg->msg = WM_CHAR_SPECIAL_ALTGRCONTROL;
    308                       pqmsg->mp1 = (MPARAM)mp1;
    309                       pqmsg->mp2 = (MPARAM)mp2;
     303                      WinPostMsg(pqmsg->hwnd, WM_CHAR_SPECIAL_ALTGRCONTROL, (MPARAM)mp1, (MPARAM)mp2);
    310304                  }
    311305                  //and finally, post the AltGr WM_CHAR message
    312306                  WinPostMsg(msg.hwnd, WM_CHAR_SPECIAL, msg.mp1, msg.mp2);
    313307              }
    314               break;
     308              return TRUE;
    315309           }
    316310        }
Note: See TracChangeset for help on using the changeset viewer.