开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
小程序 > iot小程序 > 案例分析 > iot小程序监听键盘事件介绍
收藏
我的文档
设置
简介
本文介绍 iot 小程序如何技术方式集成监听键盘事件,适用于已有iot小程序,需要技术接入的开发者。
my.ix.keyeventchange 为 iot 小程序提供的监听键盘事件api。主要提供开启和关闭两步监听api:
my.ix.onkeyeventchange:开启键盘事件监听,调用后开启注册监听键盘事件,键盘操作通过监听事件返回。
my.ix.offkeyeventchange:关闭键盘事件监听,调用后取消注册,关闭监听键盘事件,完成一个监听闭环。
使用说明
监听键盘事件支持:蜻蜓f4蓝牙键盘和usb键盘监听。
监听键盘事件api调用说明
每个 page 只需要在 onshow 的时候执行 onkeyeventchange,在 onhide 的时候执行 offkeyeventchange 键盘事件是全局事件,建议参考下文 监听键盘事件示例代码 做逻辑注册;也可以每个 page 在 onshow 注册,在 onhide 取消注册(切记不要多次 onkeyeventchange 或遗漏 offkeyeventchange,否则会造成键盘事件回调被多次执行;也不要遗漏 onhide,否则多页面跳转时多个页面都会收到按键事件)。
如果不在 onhide 的时候取消注册,在某些连续返回的场景(navigateback 带有 delta 参数)会多页面派发按键事件,导致逻辑异常。
开启键盘事件监听
my.ix.onkeyeventchange 开启注册监听键盘事件,键盘操作通过监听事件返回。
注:切记不要多次 onkeyeventchange 开启监听,否则会造成键盘事件回调被多次执行。
示例代码
javascript
复制代码
//.js
my.ix.onkeyeventchange((r) => {
if (r.keycode === 131)
my.showtoast({content: 'amount: ' r.amount});
else
my.showtoast({content: 'keycode: ' r.keycode});
});
入参
名称
类型
必填
描述
listener
function

键盘事件产生时被回调的方法
回调参数
名称
类型
描述
keycode
number
模拟键盘按键的代码值,keycode 参数的值是字符输入设备(如:键盘,扫码枪等)输入的字符在 iot 小程序中的代码值,详细代码值如下 keycode 参数代码表 所示
amount
string
amount 只会在 keycode = 131 时存在,蜻蜓 f4 蓝牙键盘最多支持8位金额
keycode 回调参数值列表
alipay k1 键盘通过 usb 连接蜻蜓设备时,收款、刷脸、取消、设置等4个按钮会同时触发3个键盘事件,其中前面2个事件(keycode=113 /57)需要忽略掉。
比如按键收款会监听到3个事件:
{"action":0,"keycode":113}
{"action":0,"keycode":57}
{"action":0,"amount":"0.01","keycode":131}
keycode
描述
键盘模拟
7
keycode - 7 = 0,表示按键0
0(仅扫码枪支持输入)
8
keycode - 7 = 1,表示按键1
1(仅扫码枪支持输入)
9
keycode - 7 = 2,表示按键2
2(仅扫码枪支持输入)
10
keycode - 7 = 3,表示按键3
3(仅扫码枪支持输入)
11
keycode - 7 = 4,表示按键4
4(仅扫码枪支持输入)
12
keycode - 7 = 5,表示按键5
5(仅扫码枪支持输入)
13
keycode - 7 = 6,表示按键6
6(仅扫码枪支持输入)
14
keycode - 7 = 7,表示按键7
7(仅扫码枪支持输入)
15
keycode - 7 = 8,表示按键8
8(仅扫码枪支持输入)
16
keycode - 7 =9,表示按键9
9(仅扫码枪支持输入)
66
确认
enter
131
收款
f1 金额 enter
132
刷脸
f2
133
取消
f3
134
设置
f4
135
退款
f5(仅随机 usb 键盘支持)
136
账单
f6(仅随机 usb 键盘支持)
关闭键盘事件监听
my.ix.offkeyeventchange 关闭键盘事件监听,调用后取消注册,关闭监听键盘事件,完成一个监听闭环。
切记不要遗漏 offkeyeventchange,也不要遗漏 onhide,否则多页面跳转时多个页面都会收到按键事件。
示例代码
关闭键盘事件监听的api在代码中只能直接调用,不可以有任何参数,没有回调。
完整监听键盘事件实现示例代码
首先创建 utils/ix.js。
在所有需要用到按键的 page.js 开头加上 import,并实现关键方法 onkeypress。
按上述实现,所有按键的事件就会随着页面自动分配,避免重复注册或未注册的问题。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图