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