理想下载站 手游攻略 新游动态 AWTK使用体验:如何响应物理按键

AWTK使用体验:如何响应物理按键

时间:2025 12 06 07:03:19 来源: 浏览:82

ZTP800示教器上有很多按钮。如果你想在自己的AWTK程序中检测并使用这些按钮来响应。。,则需要使用AWTK的功能来绑定物理按钮。

本文将通过一个检测击键的演示程序来介绍如何绑定物理按键并响应。这个demo最终的效果是,按下任意物理按键时,会显示key down,松开按键时,会显示key up。

图1 关键检测方案效果图

设计界面与绑定按键。。

使用AWTK Designer 打开一个新项目并放置一个静态文本控件来显示按下或弹出的键值。

图2 使用AWTK Designer设计界面

1. 绑定按键按下与弹起。。

接下来修改项目的src/pages/home_page.c代码文件,注册初始化表单时监听全局按键和弹出。。:

navigator_global_widget_on(EVT_KEY_DOWN, on_global_key_down, win); navigator_global_widget_on(EVT_KEY_UP, on_global_key_up, win);然后也在home_page.c中实现按键按下和弹出的回调函数,获取按键值并输出按键状态是按下还是抬起:

static ret_t on_global_key_down(void* ctx, event_t* e) { //按键按下char ch[50]={0}; widget_t* win=WIDGET(ctx); key_event_t* evt=key_event_cast(e); widget_t* label=widget_lookup(win, 'label', TRUE); const key_type_value_t* ktv=keys_type_find_by_value(evt-key); if (ktv==NULL || 标签==NULL || ktv-name==NULL) { return RET_BAD_PARAMS; } /* ktv-name为custom_keys.json绑定键值对应的名称*/tk_snprintf(ch, sizeof(ch), '%s key down', ktv-name); widget_set_text_utf8(标签, ch); return RET_OK;}static ret_t on_global_key_up(void* ctx, event_t* e) { //按键char ch[50]={0}; widget_t* win=WIDGET(ctx); key_event_t* evt=key_event_cast(e); widget_t* label=widget_lookup(win, '标签', TRUE); const key_type_value_t* ktv=keys_type_find_by_value(evt-key); if (ktv==NULL || 标签==NULL || ktv-name==NULL) { return RET_BAD_PARAMS; /* ktv-name为custom_keys.json绑定键值对应的名称*/tk_snprintf(ch, sizeof(ch), '%s key up', ktv-name); widget_set_text_utf8(标签, ch); return RET_OK;} 010- 1010 在项目的资源目录“assets/default/data/”中新建一个名为“custom_keys.json”的配置文件(如果没有data文件夹,可以自己创建)。该配置文件记录了键名和键值的对应关系。下面是记录“开始”和“F1”两个按钮的键值的示例:

{ 'START' : { 'value' : 290 }, 'F1' : { 'value' : 279 }} 文件中的两个值“290”和“279”可以从用户手册中获取ZTP800示教器。在示教器上运行程序,按“开始”和“F1”按钮,可以正确识别关键值并将其显示在静态文本控件中,如文章开头的效果图所示。

2. 设定自定义按键值

如果上述步骤后没有效果,可能是ENABLE_CUSTOM_KEYS宏没有启用。此时,可以在AWTK编译选项中定义ENABLE_CUSTOM_KEYS=1,然后编译AWTK和应用程序以启用自定义按键功能。下图展示了如何启用awtk-linux-fb移植层的awtk_config.py中的ENABLE_CUSTOM_KEYS宏。其他平台您可以根据实际步骤启用该宏。

图3 配置awtk_config.py打开宏

嵌入式Linux如何开启绑定物理按键功能

如果要在RTOS平台上绑定物理按键,则比较简单。只需要在主循环中通过按键扫描函数获取物理按键并设置AWTK识别的按键值,然后调用AWTK函数main_loop_post_key_event将按键值发送到GUI。只是界面。

用户评论

青衫故人

我一直觉得 AWTK 虽然功能强大,但是对于物理按键的支持确实不够便捷,希望后续能加强这个方面的体验,毕竟有时候直接操作物理按键效率更高!

    有6位网友表示赞同!

花容月貌

我最近在测试 AWKT 使用物理按键的方案,发现确实有些 limitations。比如切换界面时,菜单无法像普通平台那样配合物理导航键进行操作,这让我感到有点不方便。

    有10位网友表示赞同!

温柔腔

对 AWTK 的物理按键响应机制比较满意!我用它做了一个嵌入式项目,按键响应速度很快,而且可以自定义按键映射,非常实用!

    有8位网友表示赞同!

陌離

这个标题说的太笼统了,具体哪个平台的 AWKT ?有什么具体的方案可以用呢?还是得等官方文档更新才能彻底了解吧

    有13位网友表示赞同!

来瓶年的冰泉

我在使用 AWTK 时遇到的最大痛点就是物理按键的支持。希望开发者能够重视这个问题,尽快完善支持,这样就可以更好地满足用户的使用习惯。

    有16位网友表示赞同!

短发

Agtk 物理键响应一直不太理想,特别是对于多层嵌套菜单的时候,按键操作就显得特别繁琐了,希望能有更好的解决方案!

    有20位网友表示赞同!

慑人的傲气

我目前还没深入学习 AWTK 的物理按键响应机制,看了这个标题也更想了解一下,据说支持自定义映射这个功能挺酷的,说不定可以用来实现一些个性化的操控体验。

    有17位网友表示赞同!

减肥伤身#

对我不来说,AWTK 使用物理按键不是一个难题,只要理解了它的原理就可以很好地操作。期待看到更多开发者分享他们的经验,相互学习借鉴。

    有9位网友表示赞同!

龙卷风卷走爱情

如果能支持全方位的物理按键映射和快捷键设置,那 AWTK 绝对会更强大!可惜现在只能模拟一部分按键的功能,有点遗憾啊

    有15位网友表示赞同!

浅笑√倾城

我一直觉得 AWKT 的核心价值在于其跨平台特性,而多物理布局的交互也确实是一个挑战,希望能看到更多关于这方面的探索和实践结果!

    有6位网友表示赞同!

如梦初醒

我更倾向于使用传统的 GUI 工具框架,对 AWTK 还没进行深入了解。如果能够方便地与物理按键结合,那也许我会考虑试试看

    有12位网友表示赞同!

权诈

用 AWKT 做嵌入式系统的控制界面感觉很不错,物理按键响应直接了当,无需复杂的图形处理就能完成操作,而且占用资源非常少!

    有14位网友表示赞同!

玻璃渣子

Awtk 物理按键响应的体验真的可以参考一下?我在实际使用中遇到了一些问题,希望能够从其他用户的经验中获得一些解决方案!

    有19位网友表示赞同!

各自安好ぃ

开发 AWTK 应用的时候,确实需要考虑物理按键的交互方式。希望能看到更多关于如何高效利用物理按键设计的教程或示例代码!

    有6位网友表示赞同!

苏莫晨

物理按键对于很多嵌入式系统来说是不可缺少的一部分,希望 AWKT 能够在物理按键响应方面做出进一步优化

    有18位网友表示赞同!

微信名字

AWT 的功能很强大,但是它的物理按键交互设计还存在一些局限性。希望能看到开发者改进这个问题,让 AWTK 可以更好地满足用户的需求!

    有7位网友表示赞同!

ˉ夨落旳尐孩。

从标题来看,我想了解一下 AWTK 如何支持不同类型物理键的响应和自定义映射的功能

    有17位网友表示赞同!

逾期不候

对于嵌入式设备开发来说,物理按键响应是必不可少的。希望 AWKT 能够提供更加完善的支持,方便开发者快速搭建交互界面!

    有17位网友表示赞同!

算了吧

如果 AWTK 可以像原生平台一样支持多类型物理按键的自定义绑定和触发动作,那将会非常好用!

    有14位网友表示赞同!

标题:AWTK使用体验:如何响应物理按键
链接:https://www.ltthb.com/news/xydt/140045.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
三角洲行动11月19日密码是什么

三角洲行动每个地图里的密码门每天都会按时更新密码。你要收集各种线索串联起来再去密码门输入正确的密码才

2025-11-19
心动小镇11月19日溜溜橡木和无暇荧石采集位置在哪

心动小镇溜溜橡木和无暇荧石可是每日必采的稀有资源,不过要是想收集它们的话,得先完成【寻找星灵】主线任务解

2025-11-19
星际战甲伤害值查看方法攻略-伤害值在哪看

星际战甲里打出伤害后有很多小伙伴都还找不到查看具体数值的地方,不过毕竟要了解自己的输出数据,才能更好规划

2025-11-19
荒原曙光战宠图文详情介绍

荒原曙光一份实力实用又强力的战宠名单给大家,输出辅助等等系别的战宠全都有,轻轻松松帮你根据不同的战斗场景

2025-11-19
[!--temp. The end of the content page--]