| version 1.11, 2003/11/13 18:58:04 | version 1.14, 2003/12/04 17:48:17 | 
| Line 39  static const BYTE keymac[128] = { | Line 39  static const BYTE keymac[128] = { | 
 | 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 | 
 | 0x48,0x42,  NC,0x43,0x44,0x0d,0x33,0x4f, | 0x48,0x42,  NC,0x43,0x44,0x0d,0x33,0x4f, | 
| //        F5,  F6,  F7,  F3,  F8,  F9,    , F11         ; 0x60 | //        F5,  F6,  F7,  F3,  F8,  F9,EISU, F11         ; 0x60 | 
| 0x66,0x67,0x68,0x64,0x69,0x6a,  NC,0x72, | 0x66,0x67,0x68,0x64,0x69,0x6a,0x51,0x72, | 
| //          , F13,    , F14,    , F10,    , F12         ; 0x68 | //      KANA, F13,    , F14,    , F10,    , F12         ; 0x68 | 
| NC,  NC,  NC,  NC,  NC,0x6b,  NC,  NC, | 0x35,  NC,  NC,  NC,  NC,0x6b,  NC,  NC, | 
 | //          , F15, hlp, hom,  ru, del,  F4, end         ; 0x70 | //          , F15, hlp, hom,  ru, del,  F4, end         ; 0x70 | 
 | NC,  NC,0x3f,0x3e,0x37,0x39,0x65,0x3f, | NC,  NC,0x3f,0x3e,0x37,0x39,0x65,0x3f, | 
 | //        F2,  rd,  F1,  ¢«,  ¢ª,  ¢,  ¢¬,             ; 0x78 | //        F2,  rd,  F1,  ¢«,  ¢ª,  ¢,  ¢¬,             ; 0x78 | 
| 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(); |  | 
| ZeroMemory(&keymap, sizeof(keymap)); |  | 
| } |  | 
 |  |  | 
| #if 0 | void mackbd_keydown(int keycode) { | 
| void mackbd_callback(void) { |  | 
 |  |  | 
| UINT32  tick; | BYTE    data; | 
| BYTE    key[16]; |  | 
| UINT    i; |  | 
| BYTE    update; |  | 
| UINT    j; |  | 
| BYTE    keycode; |  | 
 |  |  | 
| tick = GETTICK(); | data = NC; | 
| if (shiftchktick == tick) { | if (keycode == 0x67) { | 
| return; | if (np2oscfg.F11KEY < (sizeof(bindtbl.f11)/sizeof(BYTE))) { | 
|  | data = bindtbl.f11[np2oscfg.F11KEY]; | 
|  | } | 
 | } | } | 
| 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); |  | 
| } |  | 
| } |  | 
| } |  | 
| } |  | 
 | } | } | 
 | } | } | 
 |  | else { | 
 |  | data = keymac[keycode]; | 
 |  | } | 
 |  | if (data != NC) { | 
 |  | keystat_senddata(data); | 
 |  | } | 
 | } | } | 
 | #endif |  | 
 |  |  | 
| static const BYTE f12keys[] = { | void mackbd_keyup(int keycode) { | 
| 0x61, 0x60, 0x4d, 0x4f}; |  | 
|  |  | 
|  |  | 
| static BYTE getf12key(void) { |  | 
 |  |  | 
| UINT    key; | BYTE    data; | 
 |  |  | 
| key = np2oscfg.F12COPY - 1; | data = NC; | 
| if (key < (sizeof(f12keys)/sizeof(BYTE))) { | if (keycode == 0x67) { | 
| return(f12keys[key]); | if (np2oscfg.F11KEY < (sizeof(bindtbl.f11)/sizeof(BYTE))) { | 
| } | data = bindtbl.f11[np2oscfg.F11KEY]; | 
| else { | } | 
| return(NC); |  | 
 | } | } | 
| } | else if (keycode == 0x6f) { | 
|  | if (np2oscfg.F12KEY < (sizeof(bindtbl.f12)/sizeof(BYTE))) { | 
| void mackbd_keydown(int keycode) { | data = bindtbl.f12[np2oscfg.F12KEY]; | 
|  |  | 
| if (keycode == 0x6f) { |  | 
| if (np2oscfg.F12COPY) { |  | 
| keystat_senddata(getf12key()); |  | 
| } |  | 
| #if defined(NP2GCC) |  | 
| else { |  | 
| mousemng_toggle(MOUSEPROC_SYSTEM); |  | 
| menu_setmouse(np2oscfg.MOUSE_SW ^ 1); |  | 
| sysmng_update(SYS_UPDATECFG); |  | 
 | } | } | 
| #endif | } | 
| } |  | 
 | 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.F12COPY) { |  | 
| keystat_senddata(getf12key() | 0x80); | for (i=1; i<(sizeof(bindtbl.f11)/sizeof(BYTE)); i++) { | 
| } | keystat_forcerelease(bindtbl.f11[i]); | 
| } |  | 
| else { |  | 
| BYTE    data; |  | 
| data = keymac[keycode]; |  | 
| if (data != NC) { |  | 
| keystat_senddata(data | 0x80); |  | 
| } |  | 
 | } | } | 
 | } | } | 
 |  |  | 
| Line 195  void mackbd_resetf12(void) { | Line 162  void mackbd_resetf12(void) { | 
 |  |  | 
 | UINT    i; | UINT    i; | 
 |  |  | 
| for (i=0; i<(sizeof(f12keys)/sizeof(BYTE)); i++) { | for (i=1; i<(sizeof(bindtbl.f12)/sizeof(BYTE)); i++) { | 
| keystat_forcerelease(f12keys[i]); | keystat_forcerelease(bindtbl.f12[i]); | 
 | } | } | 
 | } | } |