cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 5590|回复: 1

[fx-9860/9750] SH4A新版9860SDK官方公告(翻译)

[复制链接]
发表于 2012-11-17 20:47:25 | 显示全部楼层 |阅读模式
在新版的fx-9860G SDK中,IsKeyDown函数已被废弃。此函数在USB Power Graphic 2
版本的fx-9860GII (SD)、Graph75(95)以及fx-9860G AU Plus中不再被支持。

请参考如下的范例,使用GetKeyBkey_GetKeyWait(新函数)取代IsKeyDown。

第一种情况:轮询按键状态直到按键被按下:
  1. while(1){
  2.     if(IsKeyDown(KEY_CHAR(0)) break;
  3. }
复制代码
使用GetKey替代IsKeyDown:
  1. unsigned int key;
  2. while(1){
  3.     GeyKey(&key);
  4.     if(KEY_CHAR_0 == key) break;
  5. }
复制代码
第二种情况:检查某个按键是否按下(可选延时/超时)
  1. int flag0 = 0;
  2. if (IsKeyDown(KEY_CHAR_0))
  3. flag0 = 1;
复制代码
使用Bkey_GetKeyWait代替IsKeyDown:
  1. int kcode1 = 0, kcode2 = 0, flag0 = 0;
  2. short unused = 0;
  3. if (Bkey_GetKeyWait(&kcode1, &kcode2, KEYWAIT_HALTOFF_TIMEROFF, 0,
  4. 1, &unused)==KEYREP_KEYEVENT) {
  5. if ((kcode1==7)&&(kcode2==2)) flag0 = 1;
  6. }
复制代码
Bkey_GetKeyWait函数
Bkey_GetKeyWait函数进行等待按键操作,返回值为按下的键。
  1. int Bkey_GetKeyWait(
  2. int *code1; // 按键代码第一部分(Code1)
  3. int *code2; // 按键代码第二部分(Code2)
  4. int wait_type; // 等待类型
  5. int time; // 超时时限
  6. int menu; // 菜单键操作
  7. short *unused; // 未使用
  8. );
复制代码


  • Code1Code2按键代码对应表
    keypress.png
  • wait_type等待类型
    等待类型
    描述
    KEYWAIT_HALTON_TIMEROFF
    如果按键缓冲里没有字符,此函数将一直等到一个字符出现为之,然后立刻返回。
    KEYWAIT_HALTOFF_TIMEROFF
    如果按键缓冲里没有字符,此函数立刻返回。
    KEYWAIT_HALTON_TIMERON
    如果在指定的超时时限(time)内没有按键,此函数超时。
  • 超时时限time
    此参数代表超时的时间限制,单位为秒。仅当第一个参数为KEYWAIT_HALTON_TIMERON时才有作用。
  • 菜单操作menu
    menu的值为0,则当菜单键按下时计算器返回主菜单。
    menu的值为1,则菜单键会被拦截,函数返回对应的按键代码。
  • unused
    此参数未被使用。
  • 返回值
    此函数返回如下的值。下列定义已在keybios.h中声明。
    KEYREP_NOEVENT因为按键缓冲中无字符,函数立即返回。
    KEYREP_KEYEVENT将会设置按键代码。
    KEYREP_TIMEREVENT因为超过超时时限,函数返回。



发表于 2012-11-18 10:20:22 | 显示全部楼层
看来新9860拓展addin有希望了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-4-26 07:16 , Processed in 0.067104 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表