Changeset 5375


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

Fixed keyboard input a little

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/changelog

    r5374 r5375  
    1 /* $Id: changelog,v 1.1319 2001-03-25 08:51:22 sandervl Exp $ */
     1/* $Id: changelog,v 1.1320 2001-03-25 20:06:12 mike Exp $ */
     2
     3 2001-03-25: Michal Necasek <michalnec@volny.cz>
     4    - DINPUT:   o Fixed keyboard handling. Now arrow keys should work right
     5                  on both numpad and the separate arrow block among other things.
    26
    37 2001-03-25: Sander van Leeuwen <sandervl@xs4all.nl>
    48    - USER32:   o If a static window has children, then we can't return HTTRANSPARENT
    5                   for WM_NCHITTEST. For some reason PM then sends all mouse messages 
    6                   to the parent of the static window; even if they are intended 
     9                  for WM_NCHITTEST. For some reason PM then sends all mouse messages
     10                  to the parent of the static window; even if they are intended
    711                  for the children of the static window.
    812                  TODO: This could break some win32 apps (parent not receiving mouse
     
    3842                  (fixes crash in PowerDVD with release build of kernel32)
    3943
    40  2001-03-22: Michal Necasek <michalnec@volny.cz>
    41     - USER32:   o Show the mouse pointer in the exitlist handler of user32.
    4244                  (should restore the mouse pointer after a game crashes)
    4345
     
    7981                  now work as executed thru pec.exe.
    8082    - Kernel32: o Init VIO Console for Pe2Lx CUI images.
    81 
    82                   [DirectDraw]
    83                   Fullscreen=[True|False|0|1]
    84 
    85                   Don't blame me if your machine goes up in smoke after you've
    86                   turned fullscreen on ;-)
    87                   Note: It seems that fullscreen currently doesn't work right
    88                   with newer SDD releases for 8bpp apps, though 16/24/32bpp
    89                   should be OK (palette setting problems)
    9083
    9184 2001-03-15: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  • 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.