Ignore:
Timestamp:
Mar 25, 2001, 10:06:13 PM (24 years ago)
Author:
mike
Message:

Fixed keyboard input a little

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/dinput/dinput.cpp

    r3763 r5375  
    1 /* $Id: dinput.cpp,v 1.9 2000-06-27 21:32:41 mike Exp $ */
     1/* $Id: dinput.cpp,v 1.10 2001-03-25 20:06:13 mike Exp $ */
    22/*              DirectInput
    33 *
     
    621621}
    622622
    623 BYTE scan2dinput(BYTE scan) {
     623BYTE scan2dinput(WORD scan) {
    624624   BYTE dscan;
    625625
    626626   switch (scan) {
    627       case 0x61:
     627      case 0x148:
    628628         dscan = DIK_UP;
    629629         break;
    630       case 0x63:
     630      case 0x14b:
    631631         dscan = DIK_LEFT;
    632632         break;
    633       case 0x64:
     633      case 0x14d:
    634634         dscan = DIK_RIGHT;
    635635         break;
    636       case 0x66:
     636      case 0x150:
    637637         dscan = DIK_DOWN;
    638638         break;
    639       case 0x5C:
     639      case 0x135:
    640640         dscan = DIK_NUMPADSLASH;
    641641         break;
    642       case 0x5A:
     642      case 0x11c:
    643643         dscan = DIK_NUMPADENTER;
    644644         break;
    645       case 0x68:
     645      case 0x152:
    646646         dscan = DIK_INSERT;
    647647         break;
    648       case 0x60:
     648      case 0x147:
    649649         dscan = DIK_HOME;
    650650         break;
    651       case 0x62:
     651      case 0x149:
    652652         dscan = DIK_PGUP;
    653653         break;
    654       case 0x69:
     654      case 0x153:
    655655         dscan = DIK_DELETE;
    656656         break;
    657       case 0x65:
     657      case 0x14F:
    658658         dscan = DIK_END;
    659659         break;
    660       case 0x67:
     660      case 0x151:
    661661         dscan = DIK_PGDN;
    662662         break;
    663       case 0x5B:
     663      case 0x11D:
    664664         dscan = DIK_RCONTROL;
    665665         break;
     
    668668         break;
    669669      default:
    670          dscan = scan;
     670         dscan = scan & 0xFF;
    671671   }
    672672   return dscan;
     
    677677
    678678   SysKeyboardAImpl* This = (SysKeyboardAImpl*) current_keylock;
    679    BYTE  scan = (lParam >> 16) & 0xFF;
     679   WORD  scan = (lParam >> 16) & 0x1FF;
    680680   /* fix the scancode, DInput only uses real scancodes in 90% cases */
    681681   scan = scan2dinput(scan);
Note: See TracChangeset for help on using the changeset viewer.