Files
mixly3/boards/default/micropython_esp32c2/examples/MixGo MINI/23-2-蓝牙键鼠-无线蓝牙鼠标-简易版.mix
2025-04-20 11:46:49 +08:00

1 line
14 KiB
XML

<xml version="Mixly 3.0 rc0" board="Python ESP32-C2@MixGo MINI" shown="block"><block type="analog_ble_mouse_init" id="nb~HlZmw+LYE/z`ly+}J" x="0" y="0"><value name="name"><shadow type="text" id="s-B`b_]7?M6Pv5`~OCR3"><field name="TEXT">ble_Mouse</field></shadow></value><next><block type="controls_whileUntil" id="{+$A9#X!idbyR$uSk~$7"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="qq_)D?OU7v^90z=Rof*Y"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="controls_if" id="y$[5`2E50UvLkIO,n3ML"><mutation elseif="5"></mutation><value name="IF0"><block type="sensor_mixgo_button_is_pressed" id="V)FnzLZ_EiAy[(UJ2}za"><value name="btn"><shadow type="pins_button" id="=$0#gPvO-/L*,6mgD==Q"><field name="PIN">A1key</field></shadow></value></block></value><statement name="DO0"><block type="analog_ble_mouse_input" id=":rE!Q+g:hcuHEb$ZC3C}"><field name="release">False</field><value name="key"><block type="mouse_key" id="G/[4Es0Z-gVfES|@VyZ}"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="L-@3$HQ.|17)*1prj}cO"><field name="NUM">-5</field></shadow></value><value name="y"><shadow type="math_number" id=".Z_4y!#PeJU_@^YQ09{s"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id=",!zas_z#9+DAY$W]6[Cx"><field name="NUM">0</field></shadow></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_is_pressed" id="pn4u^U*rv`GXqC(O@ypJ"><value name="btn"><shadow type="pins_button" id="~#)9[DTGrcqun+5lBCJ="><field name="PIN">A3key</field></shadow></value></block></value><statement name="DO1"><block type="analog_ble_mouse_input" id="hCL]0c6tj:zf^;y^fMbt"><field name="release">False</field><value name="key"><block type="mouse_key" id="u~W`!?adR-FGVHUYF9v#"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="FD}G6e@Cj5teNGZ_r1Pf"><field name="NUM">5</field></shadow></value><value name="y"><shadow type="math_number" id="G7SN+_(pvV$]]BWC(1`F"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id="8CKkdUBgSptPYEV|V71i"><field name="NUM">0</field></shadow></value></block></statement><value name="IF2"><block type="sensor_mixgo_button_is_pressed" id="m3)g?mzH;.9+~4W[.C#d"><value name="btn"><shadow type="pins_button" id="dQFkZuKZTb}${tAD|;uY"><field name="PIN">A2key</field></shadow></value></block></value><statement name="DO2"><block type="analog_ble_mouse_input" id="..pBr+v1{Z:j{k*60u+Q"><field name="release">False</field><value name="key"><block type="mouse_key" id="?IQSve3PJ9R2T.Q3Zp|R"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="a,`}3qhv+/|5.*y5][O8"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="UTm59.V/5~-1cg:z_pVr"><field name="NUM">-5</field></shadow></value><value name="wheel"><shadow type="math_number" id=":1BPn|lYE:p2e2an1wkX"><field name="NUM">0</field></shadow></value></block></statement><value name="IF3"><block type="sensor_mixgo_button_is_pressed" id="wkM0@iO(/7{[vN5+Z$~H"><value name="btn"><shadow type="pins_button" id="TOJW$+ItmJ3K~KN0NKh}"><field name="PIN">A4key</field></shadow></value></block></value><statement name="DO3"><block type="analog_ble_mouse_input" id="Kt/bD=_ry`i90KJ^806P"><field name="release">False</field><value name="key"><block type="mouse_key" id="r_lJ+Uw?8g]jS.+jy]^|"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="X._vB9s$E[M!P-e`EIZC"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="=|pYfSNRefCM;6wt9SjR"><field name="NUM">5</field></shadow></value><value name="wheel"><shadow type="math_number" id="*=xl~MC)N$DB]NSPpN+0"><field name="NUM">0</field></shadow></value></block></statement><value name="IF4"><block type="sensor_mixgo_button_was_pressed" id="tU2~/X*N#^JOu2B[`ns~"><value name="btn"><shadow type="pins_button" id="-e:r#aqDUlIDWe;U]Li/"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO4"><block type="analog_ble_mouse_input" id="BBJoaKv~A@Ss+zARZ`PV"><field name="release">True</field><value name="key"><block type="mouse_key" id="jJL{#XM(}.HbWY-w`R~O"><field name="op">0x01</field></block></value><value name="x"><shadow type="math_number" id="{+Cvh#2@^zq?3vd-)}oy"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="`ndJM9#6kj0E[?=YToCo"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id="ZNQlRo^Mwnhh:W`?}lTt"><field name="NUM">0</field></shadow></value></block></statement><value name="IF5"><block type="sensor_mixgo_button_was_pressed" id="$QQs~9fR5@Lrj9Q-.uuD"><value name="btn"><shadow type="pins_button" id="CIC1-=H(|j;@L;rxf3hM"><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO5"><block type="analog_ble_mouse_input" id="e5k:|d60gjRV9?r2]!n4"><field name="release">True</field><value name="key"><block type="mouse_key" id="b}UDwuy~owY1+}I($P`-"><field name="op">0x02</field></block></value><value name="x"><shadow type="math_number" id="0mI$|kg8]a!]jp~Ukg{."><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="8akNG^pA^wW{[idhqQo?"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id=")*;6Yqs_1+pgsp}|W]xC"><field name="NUM">0</field></shadow></value></block></statement><next><block type="controls_delay_new" id="B~D:H1ZR(-:yve~tKB1j"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="Nx:zV~@`Pu0VU]g7=OsY"><field name="NUM">10</field></shadow></value></block></next></block></statement></block></next></block></xml><config>{}</config><code>ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQppbXBvcnQgbWl4Z29fbWluaQppbXBvcnQgdGltZQoKCmJsZV9tb3VzZT1Nb3VzZSgnYmxlX01vdXNlJykKd2hpbGUgVHJ1ZToKICAgIGlmIG1peGdvX21pbmkuQTFrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgoLTUpLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTNrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICg1LCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTJrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCAoLTUpKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQTRrZXkuaXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDAsICgwLCA1KSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAxLCAoMCwgMCksIDAsIFRydWUpCiAgICBlbGlmIG1peGdvX21pbmkuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICB0aW1lLnNsZWVwX21zKDEwKQo=</code>oth_x</field></block></value></block></value><value name="B"><shadow type="math_number" id="_@]=l4Ne:{oM8cbFv-ev"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="fSQPX]1tlWt*7C(r_Q+5"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="mh.|X=_Ia6eesrcqx1k:"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="#72d,$r6Np(GfUm.^di#"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="P)Kc*bYvNy+(FfR~DW,["><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number" id="*7`:^x,R8BDnF)u_@Hn{"><field name="NUM">1</field></shadow><block type="variables_get" id="NYwVHdljG_28t`hQ{)J|"><field name="VAR">ALPHA</field></block></value></block></value><value name="B"><shadow type="math_number" id="@XKbU,R-p/tAqEf^knsN"><field name="NUM">1</field></shadow><block type="variables_get" id="1i:O`]D]q.}XXnpw)0C{"><field name="VAR">x</field></block></value></block></value></block></value><next><block type="variables_set" id="YZe2rwU70e/^?1EARcpD"><field name="VAR">smooth_y</field><comment pinned="false" h="80" w="160">平滑处理</comment><value name="VALUE"><block type="math_arithmetic" id="KGGrr_{]F7j?DH6YW@V{"><field name="OP">ADD</field><value name="A"><shadow type="math_number" id="jFSG3rCxsa0y8X{8_:]/"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="(;2QcD:1N-0uwe+o4yMG"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="($.6lhB*]c2KJ=9WE*4r"><field name="NUM">1</field></shadow><block type="variables_get" id="Em_Kp/2hPr884JA_]^~S"><field name="VAR">ALPHA</field></block></value><value name="B"><shadow type="math_number" id="XpQQC4GmJ|;#ylypV#cR"><field name="NUM">1</field></shadow><block type="variables_get" id="gQ,e(*jH/pTcC$|+rUSv"><field name="VAR">smooth_y</field></block></value></block></value><value name="B"><shadow type="math_number" id="2XvlD_(I2k^l736[FT.x"><field name="NUM">1</field></shadow><block type="math_arithmetic" id="0?3Mp-)Dt1d{:D@tJ;|W"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id=".,RB1YH]Beeo-BzOQ8o*"><field name="NUM">1</field></shadow><block type="math_arithmetic" id=".dOIV|Uc(4{DgPbV=U7R"><field name="OP">MINUS</field><value name="A"><shadow type="math_number" id="K@,]6E9nxNNhzJ2Yi1g;"><field name="NUM">1</field></shadow></value><value name="B"><shadow type="math_number" id="SH1Jk}A*3T,C{}zTR0Lu"><field name="NUM">1</field></shadow><block type="variables_get" id="sc6M506!Z9mwO!S1rF#y"><field name="VAR">ALPHA</field></block></value></block></value><value name="B"><shadow type="math_number" id="YW6DmiZAPy8T=9VMes[X"><field name="NUM">1</field></shadow><block type="variables_get" id="x0Xp-`KLP50fL:T:hD5p"><field name="VAR">y</field></block></value></block></value></block></value><next><block type="controls_if" id="DATyz-QynWF!EJr*T4WX"><mutation elseif="1"></mutation><value name="IF0"><block type="sensor_mixgo_button_was_pressed" id="niDW}bSy6A{(nO[8/afb"><value name="btn"><shadow type="pins_button" id="_]#u9Oa49=7rt#}CSbn="><field name="PIN">B2key</field></shadow></value></block></value><statement name="DO0"><block type="analog_ble_mouse_input" id="Da/(X;l)jnySQ.SoVjBu"><field name="release">False</field><value name="key"><block type="mouse_key" id="hVXy86w7,fP7ybg]b|~~"><field name="op">0x01</field></block></value><value name="x"><shadow type="math_number" id="!ddvQ64Y8:9o1^,(LonQ"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="j1Dq,j[;^}FqtD_B~`zY"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id="XOiEtfiSx8-C]ZanGX*s"><field name="NUM">0</field></shadow></value></block></statement><value name="IF1"><block type="sensor_mixgo_button_was_pressed" id="G3o8LX(A7~{{xBpi?Mx*"><value name="btn"><shadow type="pins_button" id="Plr|zT9nKb_|,dn6)|`S"><field name="PIN">B1key</field></shadow></value></block></value><statement name="DO1"><block type="analog_ble_mouse_input" id="!E3|ZLgThmc$XeJw.Ek+"><field name="release">True</field><value name="key"><block type="mouse_key" id="R!3nXG;2/7#(zZ?sN7t;"><field name="op">0x02</field></block></value><value name="x"><shadow type="math_number" id="|M$gh@CFoad6QBWoqq+D"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="{~jm1#_V1AYnVu9A4E[M"><field name="NUM">0</field></shadow></value><value name="wheel"><shadow type="math_number" id="^6PGlq7;$#~A$Y^mmL}x"><field name="NUM">0</field></shadow></value></block></statement><next><block type="analog_ble_mouse_input" id="K[A*bd07S!s:RR`SwIKD"><field name="release">True</field><value name="key"><block type="mouse_key" id="QjG^wPmSQ!|dC@,LW~Rn"><field name="op">0x00</field></block></value><value name="x"><shadow type="math_number" id="[-xJ9qLhMsC^wPB={50o"><field name="NUM">0</field></shadow><block type="text_to_number" id="RQ[4ZT4;V`l1ja3um_GA"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="_]t.GB[^{L$nbunTI}??"><field name="VAR">y</field></shadow></value></block></value><value name="y"><shadow type="math_number" id="_W~TiTrW4=0Ta+0mU!pm"><field name="NUM">0</field></shadow><block type="text_to_number" id="$Z#o*7mszaZB_=C]A=1j"><field name="TOWHAT">int</field><value name="VAR"><shadow type="variables_get" id="vB$F5}^FuHo5n^1*MVqU"><field name="VAR">smooth_y</field></shadow><block type="math_arithmetic" id="@[w05hn/5Uj/}/BR_xfu"><field name="OP">MULTIPLY</field><value name="A"><shadow type="math_number" id="7;n1fF(#^;zA|k1NlV~z"><field name="NUM">1</field></shadow><block type="variables_get" id="lyxPE*ACA!$FF.#*yu5("><field name="VAR">x</field></block></value><value name="B"><shadow type="math_number" id="Vj-w=*P45))VmS|;[V!K"><field name="NUM">-1</field></shadow></value></block></value></block></value><value name="wheel"><shadow type="math_number" id="DF.+c;?gSjR=jQ5paaqO"><field name="NUM">0</field></shadow></value><next><block type="controls_delay_new" id="3x|}7HAIf1aI].?H?pu#"><field name="Time">ms</field><value name="DELAY_TIME"><shadow type="math_number" id="49NITvOoP^)T3.cX3?ZC"><field name="NUM">10</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></xml><config>{}</config><code>ZnJvbSBibGVfaGlkX21vdXNlIGltcG9ydCBNb3VzZQpmcm9tIG1peGdvX21pbmkgaW1wb3J0IG9uYm9hcmRfYWNjCmltcG9ydCBtYXRoCmltcG9ydCBtaXhnb19taW5pCmltcG9ydCB0aW1lCgoKYmxlX21vdXNlPU1vdXNlKCdibGVfTW91c2UnKQojIOeBteaVj+W6pgpTRU5TSVRJVklUWSA9IDMwCiMg56e75Yqo6ZiI5YC8Ck1PVkVfVEhSRVNIT0xEID0gMC4wNQojIOW5s+a7keWkhOeQhueahOWOhuWPsuaVsOaNrgpzbW9vdGhfeCA9IDAKIyDlubPmu5HlpITnkIbnmoTljoblj7LmlbDmja4Kc21vb3RoX3kgPSAwCiMg5oyH5pWw5bmz5ruR5Zug5a2Q77yIMCA8IEFMUEhBIDwgMe+8iQpBTFBIQSA9IDAuOAp3aGlsZSBUcnVlOgogICAgcmF3X3ggPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVswXQogICAgcmF3X3kgPSBvbmJvYXJkX2FjYy5hY2NlbGVyYXRpb24oKVsxXQogICAgIyDlv73nlaXlsI/luYXnp7vliqgKICAgIGlmIG1hdGguZmFicyhyYXdfeCkgPCBNT1ZFX1RIUkVTSE9MRDoKICAgICAgICByYXdfeCA9IDAKICAgICMg5b+955Wl5bCP5bmF56e75YqoCiAgICBpZiBtYXRoLmZhYnMocmF3X3kpIDwgTU9WRV9USFJFU0hPTEQ6CiAgICAgICAgcmF3X3kgPSAwCiAgICB4ID0gaW50KChyYXdfeCAqIFNFTlNJVElWSVRZKSkKICAgIHkgPSBpbnQoKHJhd195ICogU0VOU0lUSVZJVFkpKQogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF94ID0gQUxQSEEgKiBzbW9vdGhfeCArICgxIC0gQUxQSEEpICogeAogICAgIyDlubPmu5HlpITnkIYKICAgIHNtb290aF95ID0gQUxQSEEgKiBzbW9vdGhfeSArICgxIC0gQUxQSEEpICogeQogICAgaWYgbWl4Z29fbWluaS5CMmtleS53YXNfcHJlc3NlZCgpOgogICAgICAgIGJsZV9tb3VzZS5ub3RpZnlfaGlkKDB4MDEsICgwLCAwKSwgMCwgRmFsc2UpCiAgICBlbGlmIG1peGdvX21pbmkuQjFrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAyLCAoMCwgMCksIDAsIFRydWUpCiAgICBibGVfbW91c2Uubm90aWZ5X2hpZCgweDAwLCAoaW50KHkpLCBpbnQoKHggKiAtMSkpKSwgMCwgVHJ1ZSkKICAgIHRpbWUuc2xlZXBfbXMoMTApCg==</code>GltZS5zbGVlcF9tcygxMCkK</code>