[SDK]新fx-9860(sh-4)的SDK
本帖最后由 diameter 于 2013-1-31 19:14 编辑新版本的fx-9860G SDK,增加了Bkey_GetKeyWait函数的支持,可以用于替代已经被舍弃的IsKeyDown函数
经过实测含有IsKeyDown函数的程序依然可以正常编译
我尝试重新编译了两个程序,测试反馈贴在此:http://www.cncalc.org/thread-8382-1-1.html
(已经有有新9860的朋友测试可用)
网盘:http://dl.vmall.com/c0bdf47ya9
下面给出一个用新函数实现的用于代替IsKeyDown的函数#define GETCODE(c1,c2) (gcode1=(c1),gcode2=(c2))
int Bkey_n_IsKeyDown(int keycode)
{
int kcode1 = 0, kcode2 = 0;
int gcode1,gcode2;
short unused = 0;
switch(keycode)
{
case KEY_CHAR_0 :GETCODE(7,2);break;
case KEY_CHAR_1 :GETCODE(7,3);break;
case KEY_CHAR_2 :GETCODE(6,3);break;
case KEY_CHAR_3 :GETCODE(5,3);break;
case KEY_CHAR_4 :GETCODE(7,4);break;
case KEY_CHAR_5 :GETCODE(6,4);break;
case KEY_CHAR_6 :GETCODE(5,4);break;
case KEY_CHAR_7 :GETCODE(7,5);break;
case KEY_CHAR_8 :GETCODE(6,5);break;
case KEY_CHAR_9 :GETCODE(5,5);break;
case KEY_CHAR_DP :GETCODE(6,2);break;
case KEY_CHAR_EXP :GETCODE(5,2);break;
case KEY_CHAR_PMINUS :GETCODE(4,2);break;
case KEY_CHAR_PLUS :GETCODE(4,3);break;
case KEY_CHAR_MINUS :GETCODE(3,3);break;
case KEY_CHAR_MULT :GETCODE(4,4);break;
case KEY_CHAR_DIV :GETCODE(3,4);break;
case KEY_CTRL_EXE :GETCODE(3,2);break;
case KEY_CTRL_DEL :GETCODE(4,5);break;
case KEY_CTRL_AC :GETCODE(1,1);break;
case KEY_CHAR_FRAC :GETCODE(7,6);break;
case KEY_CTRL_FD :GETCODE(6,6);break;
case KEY_CHAR_LPAR :GETCODE(5,6);break;
case KEY_CHAR_RPAR :GETCODE(4,6);break;
case KEY_CHAR_COMMA :GETCODE(3,6);break;
case KEY_CHAR_STORE :GETCODE(2,6);break;
case KEY_CTRL_XTT :GETCODE(7,7);break;
case KEY_CHAR_LOG :GETCODE(6,7);break;
case KEY_CHAR_LN :GETCODE(5,7);break;
case KEY_CHAR_SIN :GETCODE(4,7);break;
case KEY_CHAR_COS :GETCODE(3,7);break;
case KEY_CHAR_TAN :GETCODE(2,7);break;
case KEY_CHAR_SQUARE :GETCODE(6,8);break;
case KEY_CHAR_POW :GETCODE(5,8);break;
case KEY_CTRL_EXIT :GETCODE(4,8);break;
case KEY_CTRL_SHIFT :GETCODE(7,9);break;
case KEY_CTRL_ALPHA :GETCODE(7,8);break;
case KEY_CTRL_OPTN :GETCODE(6,9);break;
case KEY_CTRL_VARS :GETCODE(5,9);break;
case KEY_CTRL_MENU :GETCODE(4,9);break;
case KEY_CTRL_UP :GETCODE(2,9);break;
case KEY_CTRL_DOWN :GETCODE(3,8);break;
case KEY_CTRL_LEFT :GETCODE(3,9);break;
case KEY_CTRL_RIGHT :GETCODE(2,8);break;
case KEY_CTRL_F1 :GETCODE(7,10);break;
case KEY_CTRL_F2 :GETCODE(6,10);break;
case KEY_CTRL_F3 :GETCODE(5,10);break;
case KEY_CTRL_F4 :GETCODE(4,10);break;
case KEY_CTRL_F5 :GETCODE(3,10);break;
case KEY_CTRL_F6 :GETCODE(2,10);break;
default:return 0;
}
if (Bkey_GetKeyWait(&kcode1, &kcode2, KEYWAIT_HALTOFF_TIMEROFF,0,0, &unused)==KEYREP_KEYEVENT)
{
if ((kcode1==gcode1)&&(kcode2==gcode2))
return 1;
}
return 0;
} 大家赶快移植,,用新函数代替iskeydown啊。。。 经实测使用Bkey_GetKeyWait的程序似乎有些变慢
1L给出的例子仅供懒人使用...为了效率大家还是手动把旧的IsKeyDown里面的Keycode换成新的映射代码吧 刚试了一下,syscall可用 楼主辛苦了,高手 新版的计算器终于有救了,{:080:} 感谢分享,虽然说我很少用98了…… 太棒了! 表示真的看不懂 链接坏了
页:
[1]