keyevent.js 722 B

123456789101112131415
  1. /**
  2. * adb method: keyevent — 按键
  3. */
  4. async function run(action, ctx) {
  5. const { device, variableContext, api, extractVarName, resolveValue } = ctx
  6. const inVars = action.inVars || []
  7. let keyCode = inVars.length > 0 ? (variableContext[extractVarName(inVars[0])] || inVars[0]) : resolveValue(action.value, variableContext)
  8. if (!keyCode) return { success: false, error: 'keyevent 操作缺少按键代码参数' }
  9. if (keyCode === 'KEYCODE_BACK') keyCode = '4'
  10. const keyResult = api.sendSystemKey(device, String(keyCode))
  11. if (!keyResult.success) return { success: false, error: `按键失败: ${keyResult.error != null ? keyResult.error : 'unknown'}` }
  12. return { success: true }
  13. }
  14. module.exports = { run }