开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
android 开发文档
windows 开发文档
linux 开发文档
iot 小程序开发文档
其它
api
收银台
刷脸核身
刷脸登录
会员与授权
发送付款码
发送和接收小指令
版本查询
获取系统属性
系统设置页面
二维码识别
生成二维码
ui 控制
语音播报
本地数据库
本地图片存储
串口通信
外设管理
打印指令
监听按键事件
身份证读卡器适配
电子秤
钱箱
非接卡通信
ic 卡通信
红外测温仪
消息服务
日志服务
前后屏通信
更多使用指南
开发 > 开放能力接入 > 其它 >  >  > my.ix.keyeventchange
收藏
订阅更新
我的文档
设置
简介
my.ix.keyeventchange 为监听按键事件的 api。按键事件表示键盘、扫码枪等能够通过按键或扫码等方式向设备输入字符的动作。
调用监听按键事件接口主要分为两步:
1开启按键事件监听。
2关闭按键事件监听。
使用限制
监听按键事件支持蜻蜓 f4 蓝牙键盘、usb 键盘和扫码枪。有关使用本接口实现扫码枪接入的示例请查看
接口调用
开启按键事件监听
my.ix.onkeyeventchange 开启按键事件监听。
示例代码
.js 示例代码
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 参数代码表
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 键盘支持)
注意: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}
关闭按键事件监听
my.ix.offkeyeventchange 关闭按键事件监听。
示例代码
.js 示例代码
关闭按键事件监听的 api 在代码中只能直接调用,不可以有任何参数。
监听按键事件 api 调用说明
每个 page 只需要在 onshow 的时候执行 onkeyeventchange,在 onhide 的时候执行 offkeyeventchange 按键事件是全局事件,建议查看下文 监听按键事件示例代码 做逻辑注册;也可以每个 page 在 onshow 注册,在 onhide 取消注册(切记不要多次 onkeyeventchange 或遗漏 offkeyeventchange,否则会造成按键事件回调被多次执行;也不要遗漏 onhide,否则多页面跳转时多个页面都会收到按键事件)。
另外如果不在 onhide 的时候取消注册,在某些连续返回的场景(navigateback 带有 delta 参数)会多页面派发按键事件,导致逻辑异常。
监听按键事件示例代码
1首先创建 utils/ix.js。
2在所有需要用到按键的 page.js 开头加上 import, 并实现关键方法 onkeypress。
3按上述实现,所有按键的事件就会随着页面自动分配,可以避免出现重复注册或未注册的问题。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录