vfd_io_util.c
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:78k
源码类别:

DVD

开发平台:

C/C++

  1. #if defined(GPIO_KEY_LIGHT)
  2. //   DATA        gpio56       IN/OUT
  3. //   STB         gpio57       IN/OUT
  4. //   CLK         gpio58       IN/OUT
  5. #ifdef HANYANG_DP02CD_WF_8202S_16//added by wangwei,2005-2-3 15:33
  6. void check_hanyang_dvdtv_keylight_status(void)
  7. {
  8. UINT32  key_data;
  9. static int key_state = 0;
  10. static UINT32 key_previ = 0xfff;
  11. //init_keylight_io();
  12.     regs0->gpio_oe[21 / 16] &= (~0x1 << (21 % 16));
  13. regs0->gpio_oe[22 / 16] &= (~0x1 << (22 % 16));
  14. regs0->gpio_oe[23 / 16] &= (~0x1 << (23 % 16));
  15. key_data = (regs0->gpio_in[21 / 16] & (0x7 << (21 % 16)));
  16. if(key_data == key_previ)
  17. {
  18. //printf("1.key_previ=%xn",key_previ);
  19. //key_previ = 0xf0;
  20. #ifdef VFD_KEY_TEST
  21.     psprintf(RegionValStr[REGION1], "KEY %x", key_data);
  22.     PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
  23.         #endif
  24. switch (key_data)
  25. {
  26. case 0xA0:
  27. if(key_state == 2)
  28. {
  29. call_ir_func(IRC_PLAY);
  30. //printf("EJECTn");
  31. }
  32. //printf("EEE:key_state=%xn",key_state);
  33. key_state = 1;
  34. break;
  35. case 0x60:
  36. if(key_state == 2)
  37. {
  38.     call_ir_func(IRC_EJECT); //call_ir_func(IRC_PAUSEPLAY);//HHQ
  39. }
  40. //printf("EEE:key_state=%xn",key_state);
  41. key_state = 1;
  42. break;
  43. case 0xC0:
  44. if(key_state == 2)
  45. {
  46. call_ir_func(IRC_STOP);
  47. //printf("STOPn");
  48. }
  49. //printf("EEE:key_state=%xn",key_state);
  50. key_state = 1;
  51. break;
  52. case 0x80:
  53. if(key_state == 2)
  54. {
  55. //gpio_key_only_next();
  56. //gpio_key_only_prev();
  57. #if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  58. key_data_flag=1;
  59. #endif//#if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  60. call_ir_func(IRC_PREV);
  61. }
  62. //printf("EEE:key_state=%xn",key_state);
  63. key_state = 1;
  64. break;
  65. case 0x100:
  66. if(key_state == 2)
  67. {
  68. //gpio_key_only_prev();
  69. //gpio_key_only_next();
  70. #if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  71. key_data_flag=1;
  72. #endif//#if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  73. call_ir_func(IRC_NEXT);
  74. }
  75. //printf("EEE:key_state=%xn",key_state);
  76. key_state = 1;
  77. break;
  78. default:
  79. key_state = 2;
  80. break;
  81. }
  82. }
  83. else
  84. {
  85. //printf("out:key_state=%xn",key_state);
  86. key_previ = key_data;
  87. key_state = 2;
  88. #if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  89. key_data_flag=0;
  90. #endif//#if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  91. }
  92. }
  93. #endif//define HANYANG_DP02CD_WF_8202S_16
  94. #if defined(USE_VFD_GAME_PORT_TO_KEYBOARD_HJ)
  95. #ifdef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_2326
  96. void check_hj_keylight_status(void)
  97. {
  98. UINT32  key_data;
  99. UINT32  key_data1;
  100. UINT32  key_data2;
  101. // UINT32  key_data3;
  102. static int key_state = 0;
  103. static UINT32 key_previ = 0xffff;
  104. // regs0->gpio_oe[54 / 16] &= ~(0x7 << (54 % 16));
  105. // regs0->gpio_oe[42 / 16] &= ~(0x3 << (42 % 16));
  106. //key_data = ((regs0->gpio_in[42 / 16] & (0x3 << (42 % 16))) |(regs0->gpio_in[54 / 16] & (0x7 << (54 % 16))) );
  107. //key_data =(( regs0->gpio_in[42 / 16] & (0x3 << (42 % 16))) |(regs0->gpio_in[54 / 16] & (0x7 << (54 % 16))) );
  108. key_data1 = regs0->gpio_in[14 / 16] & (0x3 << (14 % 16));//14
  109. key_data2 = regs0->gpio_in[54 / 16] & (0x7 << (54 % 16));//6,7,8
  110. // key_data2 = regs0->gpio_in[4 / 16] & (0x1 << (4 % 16));//4
  111. // key_data3 = regs0->gpio_in[54 / 16] & (0x7 << (54 % 16));//6,7,8
  112. key_data =(key_data1|key_data2);//15,14,6,7,8
  113. //printf("key_data=%xn",key_data);
  114. //return;
  115. //printf("regs0->sft_cfg6=%xn",regs0->sft_cfg6);
  116. //printf("regs0->gpio_oe[14 / 16]=%xn",regs0->gpio_oe[14 / 16] );
  117. //printf("key_state=%xn",key_state);
  118. //printf("key_previ=%xn",key_previ);
  119. //regs0->gpio_out[56 / 16] &= ~(0x1 << (56 % 16));
  120. if(key_data == key_previ)
  121. {
  122. //printf("1.key_previ=%xn",key_previ);
  123. //key_previ = 0xf0;
  124. switch (key_data)
  125. {
  126. case 0x81C0:
  127. if(key_state == 2)
  128. {
  129. call_ir_func(IRC_EJECT);
  130. //printf("EJECTn");
  131.             }
  132. //printf("EEE:key_state=%xn",key_state);
  133. key_state = 1;
  134. break;
  135. case 0xc0c0:
  136. if(key_state == 2)
  137. {
  138. call_ir_func(IRC_ONLY_PAUSE);
  139. //printf("EJECTn");
  140.             }
  141. //printf("EEE:key_state=%xn",key_state);
  142. key_state = 1;
  143. break;
  144. case 0x40C0:
  145. if(key_state == 2)
  146. {
  147. call_ir_func(IRC_BACKWARD);
  148. //printf("EJECTn");
  149.             }
  150. //printf("EEE:key_state=%xn",key_state);
  151. key_state = 1;
  152. break;
  153. case 0x4180:
  154. if(key_state == 2)
  155. {
  156. call_ir_func(IRC_FORWARD);
  157. //printf("EJECTn");
  158.             }
  159. //printf("EEE:key_state=%xn",key_state);
  160. key_state = 1;
  161. break;
  162. case 0xc180://GPIO14 IO2//PIN109
  163. if(key_state == 2)
  164. {
  165. call_ir_func(IRC_PREV);
  166. //printf("EJECTn");
  167. }
  168. //printf("EEE:key_state=%xn",key_state);
  169. key_state = 1;
  170. break;
  171. case 0xC140://VFD DATA
  172. if(key_state == 2)
  173. {
  174. //printf("STOPn");
  175. call_ir_func(IRC_STOP);
  176. }
  177. //printf("SS:key_state=%xn",key_state);
  178. key_state = 1;
  179. break;
  180. case 0xC100:
  181. if(key_state == 2)
  182. {
  183. call_ir_func(IRC_NEXT);
  184. //printf("EJECTn");
  185. }
  186. //printf("EEE:key_state=%xn",key_state);
  187. key_state = 1;
  188. break;
  189. case 0x41C0:
  190. //printf("Ppppppp:key_state=%xn",key_state);
  191. if(key_state == 2)
  192. {
  193. //printf("PAUSEPLAYn");
  194. if(Is_JPEG_SlideMode())
  195. {
  196. if(bJpgVFDPause == 0)
  197. {
  198. //bJpgVFDPause = 1;
  199. if(play_state == VCD_STATE_PAUSE) //nono 2-6-28 14:00
  200. {
  201. bJpgVFDPause = 2;
  202. PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
  203. }
  204. else
  205. bJpgVFDPause = 1;
  206. }
  207. else if(bJpgVFDPause == 1)
  208. {
  209. bJpgVFDPause = 2;
  210. }
  211. }
  212. else
  213. call_ir_func(IRC_PLAY);
  214. }
  215. //printf("P:key_state=%xn",key_state);
  216. key_state = 1;
  217. break;
  218. default:
  219. key_state = 2;
  220. break;
  221. }
  222. }
  223. else
  224. {
  225. //printf("out:key_state=%xn",key_state);
  226. key_previ = key_data;
  227. key_state = 2;
  228. }
  229. }
  230. #elif defined(USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_2290)
  231. void check_hj_keylight_status(void)
  232. {
  233. UINT32  key_data;//,key_data2;
  234. static int key_state = 0;//,key_state2 = 0;
  235. static UINT32 key_previ = 0xfff;//,key_previ2 = 0xfff;
  236. regs0->gpio_oe[54 / 16] &= (~0x1 << (54 % 16));
  237. regs0->gpio_oe[55 / 16] &= (~0x1 << (55 % 16));
  238. regs0->gpio_oe[56 / 16] &= (~0x1 << (56 % 16));
  239. key_data = (regs0->gpio_in[54 / 16] & (0x7 << (54 % 16)));
  240.            //printf("key_data=%xn",key_data);
  241. //           printf("key_state=%xn",key_state);
  242. //           printf("key_previ=%xn",key_previ);
  243. if(key_data == key_previ)
  244. {
  245. //printf("1.key_previ=%xn",key_previ);
  246. //key_previ = 0xf0;
  247. switch (key_data)
  248. {
  249. case 0x180://CLK GPIO54
  250. if(key_state == 2)
  251. {
  252. call_ir_func(IRC_EJECT);
  253. //printf("EJECTn");
  254. }
  255. //printf("EEE:key_state=%xn",key_state);
  256. key_state = 1;
  257. break;
  258. case 0x140://STB GPIO55
  259. //printf("Ppppppp:key_state2=%xn",key_state2);
  260. if(key_state == 2)
  261. {
  262. //printf("PAUSEPLAYn");
  263. if(Is_JPEG_SlideMode())
  264. {
  265. if(bJpgVFDPause == 0)
  266. {
  267. //bJpgVFDPause = 1;
  268. if(play_state == VCD_STATE_PAUSE) //nono 2-6-28 14:00
  269. {
  270. bJpgVFDPause = 2;
  271. PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
  272. }
  273. else
  274. bJpgVFDPause = 1;
  275. }
  276. else if(bJpgVFDPause == 1)
  277. {
  278. bJpgVFDPause = 2;
  279. }
  280. }
  281. else
  282. call_ir_func(IRC_PLAY);
  283. }
  284. key_state = 1;
  285. //check_keylight_light_status();
  286. break;
  287. case 0x0C0://DATA GPIO56
  288. if(key_state == 2)
  289. {
  290. //printf("STOPn");
  291. call_ir_func(IRC_STOP);
  292. }
  293. key_state = 1;
  294. break;
  295. default:
  296. key_state = 2;
  297. break;
  298. }
  299. }
  300. else
  301. {
  302. //printf("out:key_state=%xn",key_state);
  303. key_previ = key_data;
  304. key_state = 2;
  305. }//if(key_data==key_previ) else ........
  306. }
  307. //dingzhy   3-11-17 11:02
  308. #elif defined(USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313)
  309. void CD_MP3_DVD_LIGHT_FOR_HJ( void )
  310. {
  311.     if(cd_type_loaded==CDDVD)
  312.     {
  313.         GPIO_O_SET(3,1);
  314.         GPIO_O_SET(62,0);
  315.         GPIO_O_SET(63,1);
  316.     }
  317.     else if(cd_type_loaded==CDROM)
  318.     {
  319.         GPIO_O_SET(3,0);
  320.         GPIO_O_SET(62,1);
  321.         GPIO_O_SET(63,1);
  322.     }
  323.     else if(cd_type_loaded==CDDA || cd_type_loaded==CDVCD10 || cd_type_loaded==CDVCD20 || cd_type_loaded==CDSVCD)
  324.     {
  325.         GPIO_O_SET(3,1);
  326.         GPIO_O_SET(62,1);
  327.         GPIO_O_SET(63,0);
  328.     }
  329.     else if(play_state == VCD_STATE_OPEN)
  330. {
  331.         GPIO_O_SET(3,1);
  332.         GPIO_O_SET(62,1);
  333.         GPIO_O_SET(63,1);
  334.     }     
  335. }
  336. void check_hj_keylight_status(void)
  337. {
  338. UINT32  key_data,key_data1,key_data2,key_data3,key_data4,key_data5;//,key_data2;
  339. static int key_state = 0;//,key_state2 = 0;
  340. static UINT32 key_previ = 0xfff;//,key_previ2 = 0xfff;
  341. key_data1 = (regs0->gpio_in[54 / 16] & (0x1 << (54 % 16)));
  342. key_data2 = (regs0->gpio_in[55 / 16] & (0x1 << (55 % 16)));
  343. key_data3 = (regs0->gpio_in[56 / 16] & (0x1 << (56 % 16)));
  344. key_data4 = (regs0->gpio_in[14 / 16] & (0x1 << (14 % 16)));
  345. key_data5 = (regs0->gpio_in[15 / 16] & (0x1 << (15 % 16)));
  346. // printf("key_data1=%xn",key_data1);
  347. // printf("key_data2=%xn",key_data2);
  348. // printf("key_data3=%xn",key_data3);
  349. key_data =(key_data1|key_data2|key_data3|key_data4|key_data5);//15,14,6,7,8
  350. // printf("key_data=%xn",key_data);
  351. // printf("key_previ=%xn",key_previ);
  352. if(key_data == key_previ)
  353. {
  354. //printf("1.key_previ=%xn",key_previ);
  355. //key_previ = 0xf0;
  356. switch (key_data)
  357. {
  358. case 0xc180:
  359. #ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  360. if(key_state == 2)
  361. {
  362. call_ir_func(IRC_STOP);
  363. }
  364. key_state = 1;
  365. break;
  366. #else//USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  367. if(key_state == 2)
  368. {
  369. call_ir_func(IRC_BACKWARD);
  370. }
  371. key_state = 1;
  372. break; 
  373. #endif//USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  374.     case 0xc140:
  375. #ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  376. if(key_state == 2)
  377. {
  378. call_ir_func(IRC_BACKWARD);
  379. }
  380. key_state = 1;
  381. break;  
  382. #else//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  383. if(key_state == 2)
  384. {
  385. call_ir_func(IRC_FORWARD);
  386. }
  387. key_state = 1;
  388. break;  
  389. #endif//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  390. case 0xc0c0:
  391. #ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  392. if(key_state == 2)
  393. {
  394. call_ir_func(IRC_FORWARD);
  395. }
  396. key_state = 1;
  397. break;  
  398. #else//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  399. if(key_state == 2)
  400. {
  401. call_ir_func(IRC_DEFAULT_SETUP);
  402. }
  403. key_state = 1;
  404. break;  
  405. #endif//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  406. case 0x81c0:
  407. #ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  408.        if(key_state == 2)
  409.         {  
  410. if(Is_JPEG_SlideMode())
  411. {
  412. if( (bJpgVFDPause == 1)||(bJpgVFDPause == 0) )
  413. {
  414. bJpgVFDPause = 2;
  415. PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
  416. }
  417. }
  418. else
  419. call_ir_func(IRC_PLAY);
  420.    }    
  421.    key_state = 1;
  422. break;  
  423. #else//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  424. //printf("Ppppppp:key_state=%xn",key_state);
  425. if(key_state == 2)
  426. {
  427. //printf("PAUSEPLAYn");
  428. if(Is_JPEG_SlideMode())
  429. {
  430. if(bJpgVFDPause == 0)
  431. {
  432. //bJpgVFDPause = 1;
  433. if(play_state == VCD_STATE_PAUSE) //nono 2-6-28 14:00
  434. {
  435. bJpgVFDPause = 2;
  436. PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
  437. }
  438. else
  439. bJpgVFDPause = 1;
  440. }
  441. else if(bJpgVFDPause == 1)
  442. {
  443. bJpgVFDPause = 2;
  444. }
  445. }
  446. else
  447. call_ir_func(IRC_PAUSEPLAY);
  448. }
  449. //printf("P:key_state=%xn",key_state);
  450. key_state = 1;
  451. break;
  452. #endif//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  453. case 0x41c0:
  454. #ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  455.        if(key_state == 2)  
  456.       {  
  457. if(Is_JPEG_SlideMode())
  458. {
  459. bJpgVFDPause = 1;
  460. }else
  461. call_ir_func(IRC_ONLY_PAUSE);    
  462.   }    
  463.    key_state = 1;
  464. break;  
  465. #else//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  466. if(key_state == 2)
  467. {
  468. call_ir_func(IRC_STOP);
  469. }
  470. key_state = 1;
  471. break;
  472. #endif//#ifndef USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_DP313_NEW_KEY
  473. case 0x1c0:
  474. if(key_state == 2)
  475. {
  476. call_ir_func(IRC_EJECT);
  477. }
  478. key_state = 1;
  479. break; 
  480. default:
  481. key_state = 2;
  482. break;  
  483.        
  484.     }
  485. }
  486.     else
  487. {
  488. //printf("out:key_state=%xn",key_state);
  489. key_previ = key_data;
  490. key_state = 2;
  491. }
  492.     //dingzhy  3-11-17 10:08
  493.     CD_MP3_DVD_LIGHT_FOR_HJ();
  494. }
  495. #else//USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_2326
  496. void check_hj_keylight_status(void)
  497. {
  498. UINT32  key_data;
  499. UINT32  key_data1;
  500. UINT32  key_data2;
  501. // UINT32  key_data3;
  502. static int key_state = 0;
  503. static UINT32 key_previ = 0xffff;
  504. // regs0->gpio_oe[54 / 16] &= ~(0x7 << (54 % 16));
  505. // regs0->gpio_oe[42 / 16] &= ~(0x3 << (42 % 16));
  506. //key_data = ((regs0->gpio_in[42 / 16] & (0x3 << (42 % 16))) |(regs0->gpio_in[54 / 16] & (0x7 << (54 % 16))) );
  507. //key_data =(( regs0->gpio_in[42 / 16] & (0x3 << (42 % 16))) |(regs0->gpio_in[54 / 16] & (0x7 << (54 % 16))) );
  508. key_data1 = regs0->gpio_in[14 / 16] & (0x3 << (14 % 16));//14
  509. key_data2 = regs0->gpio_in[54 / 16] & (0x7 << (54 % 16));//6,7,8
  510. // key_data2 = regs0->gpio_in[4 / 16] & (0x1 << (4 % 16));//4
  511. // key_data3 = regs0->gpio_in[54 / 16] & (0x7 << (54 % 16));//6,7,8
  512. key_data =(key_data1|key_data2);//15,14,6,7,8
  513. //printf("key_data=%xn",key_data);
  514. //return;
  515. //printf("regs0->sft_cfg6=%xn",regs0->sft_cfg6);
  516. //printf("regs0->gpio_oe[14 / 16]=%xn",regs0->gpio_oe[14 / 16] );
  517. //printf("key_state=%xn",key_state);
  518. //printf("key_previ=%xn",key_previ);
  519. //regs0->gpio_out[56 / 16] &= ~(0x1 << (56 % 16));
  520. if(key_data == key_previ)
  521. {
  522. //printf("1.key_previ=%xn",key_previ);
  523. //key_previ = 0xf0;
  524. switch (key_data)
  525. {
  526. case 0x81C0://GPIO15 IO1//PIN121
  527. if(key_state == 2)
  528. {
  529. call_ir_func(IRC_NEXT);
  530. //printf("EJECTn");
  531.             }
  532. //printf("EEE:key_state=%xn",key_state);
  533. key_state = 1;
  534. break;
  535. case 0x41C0://GPIO14 IO2//PIN109
  536. if(key_state == 2)
  537. {
  538. call_ir_func(IRC_PREV);
  539. //printf("EJECTn");
  540. }
  541. //printf("EEE:key_state=%xn",key_state);
  542. key_state = 1;
  543. break;
  544. case 0xC0C0://VFD DATA
  545. if(key_state == 2)
  546. {
  547. //printf("STOPn");
  548. call_ir_func(IRC_STOP);
  549. }
  550. //printf("SS:key_state=%xn",key_state);
  551. key_state = 1;
  552. break;
  553. case 0xC180://VFD CLK
  554. if(key_state == 2)
  555. {
  556. call_ir_func(IRC_EJECT);
  557. //printf("EJECTn");
  558. }
  559. //printf("EEE:key_state=%xn",key_state);
  560. key_state = 1;
  561. break;
  562. case 0xC140://VFD STB
  563. //printf("Ppppppp:key_state=%xn",key_state);
  564. if(key_state == 2)
  565. {
  566. //printf("PAUSEPLAYn");
  567. if(Is_JPEG_SlideMode())
  568. {
  569. if(bJpgVFDPause == 0)
  570. {
  571. //bJpgVFDPause = 1;
  572. if(play_state == VCD_STATE_PAUSE) //nono 2-6-28 14:00
  573. {
  574. bJpgVFDPause = 2;
  575. PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
  576. }
  577. else
  578. bJpgVFDPause = 1;
  579. }
  580. else if(bJpgVFDPause == 1)
  581. {
  582. bJpgVFDPause = 2;
  583. }
  584. }
  585. else
  586. call_ir_func(IRC_PAUSEPLAY);
  587. }
  588. //printf("P:key_state=%xn",key_state);
  589. key_state = 1;
  590. break;
  591. default:
  592. key_state = 2;
  593. break;
  594. }
  595. }
  596. else
  597. {
  598. //printf("out:key_state=%xn",key_state);
  599. key_previ = key_data;
  600. key_state = 2;
  601. }
  602. }
  603. #endif//USE_VFD_GAME_PORT_TO_KEYBOARD_HJ_2326
  604. #elif defined(USE_VFDPORT_TO_KEYLIGHT_GBM)
  605. #if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  606. extern BYTE key_data_flag;
  607. #endif//#if defined(NEXT_FORWARD_IN_A_KEY)||defined(NEW_NEXT_FORWARD_IN_A_KEY)
  608. #ifdef NEW_GBM_VFD_GPIO_KEY //gerry,2004/2/11 05:58