sos-bot/actions/keyevent.py
bachko 3309a47e10 Initial commit: SoS bot framework
- ADB client (connect, tap, swipe, screencap, app control)
- Vision module (in-memory screenshot + OpenCV template matching)
- Action loader (auto-discovers .py files in actions/)
- Engine (screenshot → detect → act loop with YAML playbook)
- 12 built-in actions: tap, click, wait, swipe, find,
  find_and_click, wait_until, click_seq, keyevent, app, log
- Example custom action template
- Debug screenshot tool for template creation
- Detailed plan.md with 20 actions across 9 phases
- Sample playbook with 10 steps
2026-07-09 13:52:31 +00:00

22 lines
484 B
Python

"""Action: keyevent — send Android key event."""
class Action:
name = "keyevent"
KEYS = {
"back": 4,
"home": 3,
"menu": 82,
"enter": 66,
"space": 62,
"esc": 111,
}
def run(self, ctx, params):
key = params.get("key", params.get("keycode", "back"))
if isinstance(key, str):
key = self.KEYS.get(key.lower(), 4)
ctx["adb"].keyevent(key)
ctx["log"].info("keyevent(%d)", key)