Diff for /np2/macosx/mackbd.cpp between versions 1.13 and 1.15

version 1.13, 2003/12/04 17:12:09 version 1.15, 2004/01/23 17:37:39
Line 31  static const BYTE keymac[128] = { Line 31  static const BYTE keymac[128] = {
                                 0x0f,0x34,  NC,0x0e,  NC,0x00,  NC,  NC,                                  0x0f,0x34,  NC,0x0e,  NC,0x00,  NC,  NC,
                         //       sft, cps, alt, ctl,    ,    ,    ,             ; 0x38                          //       sft, cps, alt, ctl,    ,    ,    ,             ; 0x38
                                 0x70,0x79,0x73,0x74,  NC,  NC,  NC,  NC,                // for CW                                  0x70,0x79,0x73,0x74,  NC,  NC,  NC,  NC,                // for CW
                         //          , [.],    , [*],    ,    , [+],             ; 0x40                          //          , [.],    , [*],    , [+],    ,             ; 0x40
                                   NC,0x50,  NC,0x45,  NC,  NC,0x49,  NC,                                    NC,0x50,  NC,0x45,  NC,0x49,  NC,  NC,
                         //          ,    ,    ,    , ret,    , [-], clr         ; 0x48                          //          ,    ,    , [/], ret,    , [-], clr         ; 0x48
                                   NC,  NC,  NC,  NC,0x1c,  NC,0x40,0x3e,                                    NC,  NC,  NC,0x41,0x1c,  NC,0x40,0x3e,
                         //          , [=], [0], [1], [2], [3], [4], [5]         ; 0x50                          //          , [=], [0], [1], [2], [3], [4], [5]         ; 0x50
                                   NC,0x4d,0x4e,0x4a,0x4b,0x4c,0x46,0x47,                                    NC,0x4d,0x4e,0x4a,0x4b,0x4c,0x46,0x47,
                         //       [6], [7],    , [8], [9],  ¡ï,  ¡², [,]         ; 0x58                          //       [6], [7],    , [8], [9],  ¡ï,  ¡², [,]         ; 0x58
Line 84  static const BYTE keymac2[128] = { Line 84  static const BYTE keymac2[128] = {
                                   NC,  NC,  NC,  NC,  NC,  NC,  NC,  NC};                                    NC,  NC,  NC,  NC,  NC,  NC,  NC,  NC};
   
   
 static  BYTE    keymap[16];  typedef struct {
 static  UINT32  shiftchktick = 0;          BYTE    f11[4];
           BYTE    f12[4];
   } BINDTBL;
   
   static const BINDTBL bindtbl = {
                                                   //   ¥«¥Ê  Stop  [¡á]  NFER
                                                           {0x72, 0x60, 0x4d, 0x51},
                                                   //         Copy  [¡¤]  XFER
                                                           {NC,   0x61, 0x4f, 0x35}};
   
 void mackbd_initialize(void) {  void mackbd_initialize(void) { };
   
         shiftchktick = GETTICK();  void mackbd_keydown(int keycode) {
         ZeroMemory(&keymap, sizeof(keymap));  
 }  
   
 #if 0          BYTE    data;
 void mackbd_callback(void) {  
   
         UINT32  tick;          data = NC;
         BYTE    key[16];          if (keycode == 0x67) {
         UINT    i;                  if (np2oscfg.F11KEY < (sizeof(bindtbl.f11)/sizeof(BYTE))) {
         BYTE    update;                          data = bindtbl.f11[np2oscfg.F11KEY];
         UINT    j;                  }
         BYTE    keycode;  
   
         tick = GETTICK();  
         if (shiftchktick == tick) {  
                 return;  
         }          }
         shiftchktick = tick;          else if (keycode == 0x6f) {
 #if TARGET_API_MAC_CARBON                  if (np2oscfg.F12KEY < (sizeof(bindtbl.f12)/sizeof(BYTE))) {
         GetKeys((long *)key);                          data = bindtbl.f12[np2oscfg.F12KEY];
 #else              if (data == NC) {
         GetKeys((unsigned long *)key);                  mousemng_toggle(MOUSEPROC_SYSTEM);
 #endif                  menu_setmouse(np2oscfg.MOUSE_SW ^ 1);
         for (i=0; i<16; i++) {                  sysmng_update(SYS_UPDATECFG);
                 update = keymap[i] ^ key[i];              }
                 if (update) {  
                         keymap[i] = key[i];  
                         for (j=0; j<8; j++) {  
                                 if (update & (1 << j)) {  
                                         keycode = keymac[i * 8 + j];  
                                         if (keycode != NC) {  
                                                 if (key[i] & (1 << j)) {  
                                                         keystat_senddata(keycode);  
                                                 }  
                                                 else {  
                                                         keystat_senddata(keycode + 0x80);  
                                                 }  
                                         }  
                                 }  
                         }  
                 }                  }
         }          }
 }  
 #endif  
   
 #define STOPKEY 0x61  
 #define COPYKEY 0x60  
 #define TENKEYEQUAL     0x4d  
 #define TENKEYCOMMA     0x4f  
 #define XFERKEY 0x35  
 #define NFERKEY 0x51  
   
 #define KANAKEY 0x72  
   
 enum {  
         F11PUSHED                       = 0,  
         F12PUSHED,  
 };  
   
 static const BYTE f11f12keys[] = {  
                         STOPKEY, COPYKEY, TENKEYEQUAL, TENKEYCOMMA, NFERKEY, XFERKEY};  
               
 static BYTE getf11f12key(int whichkey) {  
   
         UINT    key;  
   
     if (whichkey == F11PUSHED) {  
         key = (np2oscfg.F11KEY - 1) * 2;  
     }  
     else {      else {
         key = (np2oscfg.F12KEY - 1) * 2 + 1;          data = keymac[keycode];
     }  
     if (key < (sizeof(f11f12keys)/sizeof(BYTE))) {  
         return(f11f12keys[key]);  
     }  
     else {  
         return(NC);  
     }      }
           if (data != NC) {
                   keystat_senddata(data);
           }
 }  }
   
 void mackbd_keydown(int keycode) {  void mackbd_keyup(int keycode) {
   
           BYTE    data;
   
         if (keycode == 0x6f) {          data = NC;
                 if (np2oscfg.F12KEY) {          if (keycode == 0x67) {
                         keystat_senddata(getf11f12key(F12PUSHED));                  if (np2oscfg.F11KEY < (sizeof(bindtbl.f11)/sizeof(BYTE))) {
         }                          data = bindtbl.f11[np2oscfg.F11KEY];
 #if defined(NP2GCC)  
         else {  
             mousemng_toggle(MOUSEPROC_SYSTEM);  
             menu_setmouse(np2oscfg.MOUSE_SW ^ 1);  
             sysmng_update(SYS_UPDATECFG);  
                 }                  }
 #endif          }
     }          else if (keycode == 0x6f) {
         else if (keycode == 0x67) {                  if (np2oscfg.F12KEY < (sizeof(bindtbl.f12)/sizeof(BYTE))) {
                 if (np2oscfg.F11KEY) {                          data = bindtbl.f12[np2oscfg.F12KEY];
                         keystat_senddata(getf11f12key(F11PUSHED));  
         }  
         else {  
             keystat_senddata(KANAKEY);  
                 }                  }
     }          }
     else {      else {
         BYTE    data;  
         data = keymac[keycode];          data = keymac[keycode];
         if (data != NC) {      }
             keystat_senddata(data);          if (data != NC) {
         }                  keystat_senddata(data | 0x80);
                   return;
         }          }
 }  }
   
 void mackbd_keyup(int keycode) {  void mackbd_resetf11(void) {
   
         if (keycode == 0x6f) {          UINT    i;
                 if (np2oscfg.F12KEY) {  
                         keystat_senddata(getf11f12key(F12PUSHED) | 0x80);          for (i=1; i<(sizeof(bindtbl.f11)/sizeof(BYTE)); i++) {
                 }                  keystat_forcerelease(bindtbl.f11[i]);
     }  
         else if (keycode == 0x67) {  
                 if (np2oscfg.F11KEY) {  
                         keystat_senddata(getf11f12key(F11PUSHED) | 0x80);  
                 }  
     }  
     else {  
         BYTE    data;  
         data = keymac[keycode];  
         if (data != NC) {  
             keystat_senddata(data | 0x80);  
         }  
         }          }
 }  }
   
 void mackbd_resetf11f12(void) {  void mackbd_resetf12(void) {
   
         UINT    i;          UINT    i;
   
         for (i=0; i<(sizeof(f11f12keys)/sizeof(BYTE)); i++) {          for (i=1; i<(sizeof(bindtbl.f12)/sizeof(BYTE)); i++) {
                 keystat_forcerelease(f11f12keys[i]);                  keystat_forcerelease(bindtbl.f12[i]);
         }          }
 }  }

Removed from v.1.13  
changed lines
  Added in v.1.15


RetroPC.NET-CVS <cvs@retropc.net>