sequenceDiagram
    participant Watch
    participant JS as PebbleKit JS
    participant HTTP as NanoHTTPD /key
    participant Main as MainActivity
    participant JNI as vice_jni.c

    Watch->>Watch: SELECT opens wheel, UP/DOWN rotate, SELECT confirms
    Watch->>JS: AppMessage KEY_COMMAND = "LABEL"
    JS->>HTTP: GET /key?cmd=LABEL
    HTTP->>Main: onKey(cmd)
    Main->>Main: watchKeyMap[cmd] → codes
    Main->>JNI: injectKey(code, true) for each code
    Main->>Main: postDelayed 80ms
    Main->>JNI: injectKey(code, false) for each code
