Ignore:
Timestamp:
Dec 11, 2001, 6:34:53 PM (24 years ago)
Author:
sandervl
Message:

hook, scancode + altgr fixes

File:
1 edited

Legend:

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

    r7306 r7612  
    1 /* $Id: winkeyboard.cpp,v 1.26 2001-11-09 01:26:15 phaller Exp $ */
     1/* $Id: winkeyboard.cpp,v 1.27 2001-12-11 17:34:53 sandervl Exp $ */
    22/*
    33 * Win32 <-> PM key translation
     
    593593
    594594// @@@PH
    595 // Note: windoes uses different scancodes if numlock is pressed
     595// Note: windows uses different scancodes if numlock is pressed
    596596// This is not (yet) reflected here!
    597597BYTE abPMScanToWinScan[256][2] =
     
    708708/* 0x6B PMSCAN_F24          */ , WINSCAN_F24                ,FALSE
    709709/* 0x6C PMSCAN_SYSMEM       */ , 0x00                       ,FALSE
    710 /* 0x6D PMSCAN_ERASEEOF     */ , WINSCAN_ERASEEOF           ,FALSE
    711 /* 0x6E PMSCAN_BREAK        */ , WINSCAN_BREAK              ,TRUE
     710/* 0x6D PMSCAN_ERASEEOF     */ , 0x00                       ,FALSE
     711/* 0x6E PMSCAN_BREAK        */ , 0x00                       ,TRUE
    712712/* 0x6F PMSCAN_MOVEWIN      */ , 0x00                       ,FALSE
    713 /* 0x70 PMSCAN_NLS3         */ , 0x00                       ,FALSE
    714 /* 0x71 PMSCAN_HELP         */ , WINSCAN_HELP               ,FALSE
     713/* 0x70 PMSCAN_NLS3         */ , WINSCAN_NLS3               ,FALSE
     714/* 0x71 PMSCAN_HELP         */ , 0x00                       ,FALSE
    715715/* 0x72 PMSCAN_TASKMAN      */ , 0x00                       ,FALSE
    716 /* 0x73 PMSCAN_B11          */ , 0x00                       ,FALSE
     716/* 0x73 PMSCAN_B11          */ , WINSCAN_B11                ,FALSE
    717717/* 0x74 PMSCAN_JUMP         */ , 0x00                       ,FALSE
    718718/* 0x75 PMSCAN_MINWIN       */ , 0x00                       ,FALSE
     
    720720/* 0x77 PMSCAN_77           */ , 0x00                       ,FALSE
    721721/* 0x78 PMSCAN_78           */ , 0x00                       ,FALSE
    722 /* 0x79 PMSCAN_NLS2         */ , 0x00                       ,FALSE
     722/* 0x79 PMSCAN_NLS2         */ , WINSCAN_NLS2               ,FALSE
    723723/* 0x7a PMSCAN_SIZE         */ , 0x00                       ,FALSE
    724 /* 0x7b PMSCAN_NLS1         */ , 0x00                       ,FALSE
    725 /* 0x7c PMSCAN_APPLICATION  */ , WINSCAN_APPLICATION        ,TRUE
    726 /* 0x7d PMSCAN_E13          */ , 0x00                       ,FALSE
    727 /* 0x7e PMSCAN              */ , WINSCAN_WINLEFT            ,TRUE
    728 /* 0x7f PMSCAN              */ , WINSCAN_WINRIGHT           ,TRUE
    729 /* 0x80 PMSCAN_PA1          */ , WINSCAN_PA1                ,FALSE
     724/* 0x7b PMSCAN_NLS1         */ , WINSCAN_NLS1               ,FALSE
     725/* 0x7c PMSCAN_APPLICATION  */ , WINSCAN_WINAPPLICATION     ,TRUE
     726/* 0x7d PMSCAN_E13          */ , WINSCAN_YEN                ,FALSE
     727/* 0x7e PMSCAN              */ , WINSCAN_ABNT_C2            ,TRUE
     728/* 0x7f PMSCAN              */ , 0x00                       ,TRUE
     729/* 0x80 PMSCAN_PA1          */ , 0x00                       ,FALSE
    730730/* 0x81 PMSCAN_F13          */ , WINSCAN_F13                ,FALSE
    731731/* 0x82 PMSCAN_F14          */ , WINSCAN_F14                ,FALSE
     
    736736/* 0x87 PMSCAN_TABRIGHT     */ , 0x00                       ,FALSE
    737737/* 0x88 PMSCAN_NOOP         */ , 0x00                       ,FALSE
    738 /* 0x89 PMSCAN_F16          */ , WINSCAN_F16                ,FALSE
    739 /* 0x8a PMSCAN_F17          */ , WINSCAN_F17                ,FALSE
    740 /* 0x8b PMSCAN_F18          */ , WINSCAN_F18                ,FALSE
    741 /* 0x8c PMSCAN_F19          */ , WINSCAN_F19                ,FALSE
    742 /* 0x8d PMSCAN_F20          */ , WINSCAN_F20                ,FALSE
    743 /* 0x8e PMSCAN_F21          */ , WINSCAN_F21                ,FALSE
    744 /* 0x8f PMSCAN_F22          */ , WINSCAN_F22                ,FALSE
    745 /* 0x90                     */ , 0x00                       ,FALSE
    746 /* 0x91                     */ , 0x00                       ,FALSE
    747 /* 0x92                     */ , 0x00                       ,FALSE
    748 /* 0x93                     */ , 0x00                       ,FALSE
    749 /* 0x94                     */ , 0x00                       ,FALSE
    750 /* 0x95                     */ , 0x00                       ,FALSE
    751 /* 0x96                     */ , 0x00                       ,FALSE
    752 /* 0x97                     */ , 0x00                       ,FALSE
     738/* 0x89 PMSCAN_F16          */ , 0x00                       ,FALSE
     739/* 0x8a PMSCAN_F17          */ , 0x00                       ,FALSE
     740/* 0x8b PMSCAN_F18          */ , 0x00                       ,FALSE
     741/* 0x8c PMSCAN_F19          */ , 0x00                       ,FALSE
     742/* 0x8d PMSCAN_F20          */ , WINSCAN_NUMPADEQUALS       ,FALSE
     743/* 0x8e PMSCAN_F21          */ , 0x00                       ,FALSE
     744/* 0x8f PMSCAN_F22          */ , 0x00                       ,FALSE
     745/* 0x90                     */ , WINSCAN_PREVTRACK          ,FALSE
     746/* 0x91                     */ , WINSCAN_AT                 ,FALSE
     747/* 0x92                     */ , WINSCAN_COLON              ,FALSE
     748/* 0x93                     */ , WINSCAN_UNDERLINE          ,FALSE
     749/* 0x94                     */ , WINSCAN_KANJI              ,FALSE
     750/* 0x95                     */ , WINSCAN_STOP               ,FALSE
     751/* 0x96                     */ , WINSCAN_AX                 ,FALSE
     752/* 0x97                     */ , WINSCAN_UNLABELED          ,FALSE
    753753/* 0x98                     */ , 0x00                       ,FALSE
    754 /* 0x99                     */ , 0x00                       ,FALSE
     754/* 0x99                     */ , WINSCAN_NEXTTRACK          ,FALSE
    755755/* 0x9A                     */ , 0x00                       ,FALSE
    756756/* 0x9B                     */ , 0x00                       ,FALSE
     
    759759/* 0x9E                     */ , 0x00                       ,FALSE
    760760/* 0x9F                     */ , 0x00                       ,FALSE
    761 /* 0xA0                     */ , 0x00                       ,FALSE
    762 /* 0xA1                     */ , 0x00                       ,FALSE
    763 /* 0xA2                     */ , 0x00                       ,FALSE
     761/* 0xA0                     */ , WINSCAN_MUTE               ,FALSE
     762/* 0xA1                     */ , WINSCAN_CALCULATOR         ,FALSE
     763/* 0xA2                     */ , WINSCAN_PLAYPAUSE          ,FALSE
    764764/* 0xA3                     */ , 0x00                       ,FALSE
    765 /* 0xA4                     */ , 0x00                       ,FALSE
     765/* 0xA4                     */ , WINSCAN_MEDIASTOP          ,FALSE
    766766/* 0xA5                     */ , 0x00                       ,FALSE
    767767/* 0xA6                     */ , 0x00                       ,FALSE
     
    773773/* 0xAC                     */ , 0x00                       ,FALSE
    774774/* 0xAD                     */ , 0x00                       ,FALSE
    775 /* 0xAE                     */ , 0x00                       ,FALSE
     775/* 0xAE                     */ , WINSCAN_VOLUMEDOWN         ,FALSE
    776776/* 0xAF                     */ , 0x00                       ,FALSE
    777 /* 0xB0                     */ , 0x00                       ,FALSE
     777/* 0xB0                     */ , WINSCAN_VOLUMEUP           ,FALSE
    778778/* 0xB1                     */ , 0x00                       ,FALSE
    779 /* 0xB2                     */ , 0x00                       ,FALSE
    780 /* 0xB3                     */ , 0x00                       ,FALSE
     779/* 0xB2                     */ , WINSCAN_WEBHOME            ,FALSE
     780/* 0xB3                     */ , WINSCAN_NUMPADCOMMA        ,FALSE
    781781/* 0xB4                     */ , 0x00                       ,FALSE
    782782/* 0xB5                     */ , 0x00                       ,FALSE
     
    821821/* 0xDC                     */ , 0x00                       ,FALSE
    822822/* 0xDD                     */ , 0x00                       ,FALSE
    823 /* 0xDE                     */ , 0x00                       ,FALSE
    824 /* 0xDF                     */ , 0x00                       ,FALSE
     823/* 0xDE                     */ , WINSCAN_POWER              ,FALSE
     824/* 0xDF                     */ , WINSCAN_SLEEP              ,FALSE
    825825/* 0xE0                     */ , 0x00                       ,FALSE
    826826/* 0xE1                     */ , 0x00                       ,FALSE
    827827/* 0xE2                     */ , 0x00                       ,FALSE
    828 /* 0xE3                     */ , 0x00                       ,FALSE
     828/* 0xE3                     */ , WINSCAN_WAKE               ,FALSE
    829829/* 0xE4                     */ , 0x00                       ,FALSE
    830 /* 0xE5                     */ , 0x00                       ,FALSE
    831 /* 0xE6                     */ , 0x00                       ,FALSE
    832 /* 0xE7                     */ , 0x00                       ,FALSE
    833 /* 0xE8                     */ , 0x00                       ,FALSE
    834 /* 0xE9                     */ , 0x00                       ,FALSE
    835 /* 0xEA                     */ , 0x00                       ,FALSE
    836 /* 0xEB                     */ , 0x00                       ,FALSE
    837 /* 0xEC                     */ , 0x00                       ,FALSE
    838 /* 0xED                     */ , 0x00                       ,FALSE
     830/* 0xE5                     */ , WINSCAN_WEBSEARCH          ,FALSE
     831/* 0xE6                     */ , WINSCAN_WEBFAVORITES       ,FALSE
     832/* 0xE7                     */ , WINSCAN_WEBREFRESH         ,FALSE
     833/* 0xE8                     */ , WINSCAN_WEBSTOP            ,FALSE
     834/* 0xE9                     */ , WINSCAN_WEBFORWARD         ,FALSE
     835/* 0xEA                     */ , WINSCAN_WEBBACK            ,FALSE
     836/* 0xEB                     */ , WINSCAN_MYCOMPUTER         ,FALSE
     837/* 0xEC                     */ , WINSCAN_MAIL               ,FALSE
     838/* 0xED                     */ , WINSCAN_MEDIASELECT        ,FALSE
    839839/* 0xEE                     */ , 0x00                       ,FALSE
    840840/* 0xEF                     */ , 0x00                       ,FALSE
     
    13231323  // check the scancodes if the extended key bit is set so
    13241324  // we can easily distinguish between "left" and "right" special keys, etc.
    1325   BOOL  fDontCare = (lParam & 0x02000000) != 0;
    1326   BOOL  fExtended = (lParam & 0x01000000) != 0;
     1325  BOOL  fDontCare = (lParam & WIN_KEY_DONTCARE) != 0;
     1326  BOOL  fExtended = (lParam & WIN_KEY_EXTENDED) != 0;
    13271327  UCHAR ucWinScan = (lParam & 0x00ff0000) >> 16;
    13281328  UCHAR ucWinVKey;
     
    14201420    case KEYOVERLAYSTATE_UP:
    14211421      return 0x0000;
    1422   }
    1423    
     1422  }   
    14241423  return O32_GetKeyState(nVirtKey);
    14251424}
     
    14431442    case KEYOVERLAYSTATE_UP:
    14441443      return 0x0000;
    1445   }
    1446  
    1447   if(fVersionWarp3)
    1448   {
    1449     dprintf(("WARNING: not correctly implemented for Warp 3"));
    1450     //Not present in Warp 3's PMWINX
    1451     return O32_GetKeyState(nVirtKey);
    1452   }
    1453   else 
    1454     return O32_GetAsyncKeyState(nVirtKey);
     1444  }
     1445  return O32_GetAsyncKeyState(nVirtKey);
    14551446}
    14561447//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.