MTK 35快捷键添加

以baidu为例:

Shortcuts.c 里注册下键为百度快捷键:
void ShctExecuteDownKey(void)

{

    /*----------------------------------------------------------------*/

    /* Local Variables                                                */

    /*----------------------------------------------------------------*/

    FuncPtr p;

    /*----------------------------------------------------------------*/

    /* Code Body                                                      */

    /*----------------------------------------------------------------*/

#ifdef __MMI_SEARCH_WEB__

    if (mmi_search_web_hot_key_is_enabled(MMI_SEARCH_WEB_HOT_KEY_DOWN_KEY)) //检查热键是否有效。如果配置失败则按照默认规则

    {

        mmi_search_web_trigger_by_hot_key(MMI_SEARCH_WEB_HOT_KEY_DOWN_KEY);

        return;

    }

#endif

    if (g_shct_cntx.DediShctList[1] != SHCT_DEFAULT_MENU_ID)

    {

        if (ShctCheckItemCanbeExecuted(g_shct_cntx.DediShctList[1]) == 0)

        {

            g_shct_cntx.IsKeyRetrieving = TRUE;

        (mmi_frm_get_hilite_hdlr(g_shct_cntx.DediShctList[1])) ();

            g_shct_cntx.IsKeyRetrieving = FALSE;

            p = get_left_softkey_function(KEY_EVENT_UP);

            (*p)();

           

           // execute_softkey_function(KEY_EVENT_UP, MMI_LEFT_SOFTKEY);

        }

    }

    else

    {

        EntryShctInIdle();

    }

   

}

MMI_BOOL mmi_search_web_hot_key_is_enabled(mmi_search_web_hot_key_enum hot_key)

{

    /*----------------------------------------------------------------*/

    /* Local Variables                                                */

    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/

    /* Code Body                                                      */

    /*----------------------------------------------------------------*/

   

#if WAP_SUPPORT

    if (!mmi_idle_is_main_menu()) //是否在idle,否则返回false

    {

        MMI_TRACE(MMI_SEARCH_WEB_TRACE_GROUP, TRC_MMI_SEARCH_WEB_HOT_KEY_IS_ENABLED, hot_key, 0, MMI_FALSE);

        return MMI_FALSE;

    }

   

#ifdef __MMI_SEARCH_WEB_BAIDU__

    if (mmi_sweb_baidu_hot_key_is_enabled(hot_key)) //是否与定义热键一致,否则返回false

    {

        MMI_TRACE(MMI_SEARCH_WEB_TRACE_GROUP, TRC_MMI_SEARCH_WEB_HOT_KEY_IS_ENABLED, hot_key, 10, MMI_TRUE);

        return MMI_TRUE;

    }

#endif /* __MMI_SEARCH_WEB_BAIDU__ */

#endif /* WAP_SUPPORT */

    MMI_TRACE(MMI_SEARCH_WEB_TRACE_GROUP, TRC_MMI_SEARCH_WEB_HOT_KEY_IS_ENABLED, hot_key, 9999, MMI_FALSE);

    return MMI_FALSE;

}

MMI_BOOL mmi_sweb_baidu_hot_key_is_enabled(mmi_search_web_hot_key_enum hot_key)

{

    /*----------------------------------------------------------------*/

    /* Local Variables                                                */

    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/

    /* Code Body                                                      */

    /*----------------------------------------------------------------*/

    return (g_mmi_sweb_baidu_hot_key == hot_key); //接收到的热键与所定义热键一致,返回true

}

typedef enum

{

    MMI_SEARCH_WEB_HOT_KEY_NONE             = 0,    /* No hot key is enabled */

    MMI_SEARCH_WEB_HOT_KEY_DOWN_KEY         = 0x1, /* Down arrow key */

    MMI_SEARCH_WEB_HOT_KEY_LONG_PRESS_STAR = 0x2, /* Long pressing * (star key) */

    MMI_SEARCH_WEB_HOT_KEY_LONG_END_OF_ENUM

} mmi_search_web_hot_key_enum; //定义热键枚举

static mmi_search_web_hot_key_enum g_mmi_sweb_baidu_hot_key = MMI_SEARCH_WEB_BAIDU_DEFAULT_HOT_KEY; //预定义热键

void mmi_search_web_trigger_by_hot_key(mmi_search_web_hot_key_enum hot_key)

{

    /*----------------------------------------------------------------*/

    /* Local Variables                                                */

    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/

    /* Code Body                                                      */

    /*----------------------------------------------------------------*/

    MMI_TRACE(MMI_SEARCH_WEB_TRACE_GROUP, TRC_MMI_SEARCH_WEB_TRIGGER_BY_HOT_KEY, hot_key);

   

#ifdef __MMI_SEARCH_WEB_BAIDU__

    if (mmi_sweb_baidu_hot_key_is_enabled(hot_key))

    {

        mmi_search_web_baidu_open_search_bar(); //进入百度搜索界面

        return;

    }

#endif /* __MMI_SEARCH_WEB_BAIDU__ */

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值