- install vJoystick and configure it like so:
- download and run ThrottleQuadrantServer.exe you don't need to run as Administrator as long as port 8896 is open.
- Install the app from google play and connect
| The app collects zero data. No personal info, no location tracking, and no usage analytics. Any system permissions (like heart rate or step counts) are processed locally on your device only and are never transmitted to a server or shared with third parties. No accounts required, no trackers included. It is just a watch face. |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>Unity Page</title> | |
| <style> | |
| .red-div { | |
| background-color: red; | |
| width: 400px; |
| import { useActor, useMachine } from "@xstate/react"; | |
| import React from "react"; | |
| import { createMachine, ActorRefFrom, sendParent } from "xstate"; | |
| export const id = "survey"; | |
| export const eventStoreId = "survey"; | |
| export type SurveyActorRef = ActorRefFrom<ReturnType<typeof createSurvey>>; | |
| const staticConfig = { | |
| id: "survey", |
| :100000000C9467070C9490070C9490070C9490073D | |
| :100010000C9490070C9490070C94493B0C94900717 | |
| :100020000C9490070C9490070C9490070C94EF2A72 | |
| :100030000C9490070C9490070C9490070C949007E4 | |
| :100040000C9490070C9490070C94243B0C94F73A72 | |
| :100050000C9490070C9490070C9490070C949007C4 | |
| :100060000C9490070C949007040002000004000414 | |
| :100070000000040704040000040404000000000061 | |
| :100080000000040000000004000000000004000064 | |
| :100090000202000000020407000407070400000039 |
| (async () => { | |
| const getResolutions = async (m3u8url) => { | |
| const options = {}; | |
| try { | |
| const breakdown = await fetch(m3u8url).then(res => res.text()); | |
| const matches = breakdown.matchAll(/RESOLUTION=(\d+x\d+)\n(https:\/\/.*?m3u8)/g); | |
| for (const match of matches) { | |
| const [_, reso, url] = match; | |
| options[reso] = url; |
| var topsort = function (hash) { | |
| let nodes = (Object.values(hash)); | |
| let output = []; | |
| let seen = new Set(); | |
| nodes.forEach(node => { | |
| if (!seen.has(node)) { | |
| dfs(node, seen, output) | |
| } |
| export const luhn = (value: string) => { | |
| let nCheck = 0; | |
| let nDigit = 0; | |
| let bEven = true; | |
| const newValue = value.replace(/D/g, ''); | |
| for (let n = newValue.length - 1; n >= 0; n -= 1) { | |
| const cDigit = newValue.charAt(n); | |
| nDigit = parseInt(cDigit, 10); |
| # output: | |
| # 100000000 -> A10000000086 | |
| # 100000001 -> A10000000164 | |
| # 100000002 -> A10000000242 | |
| # 100000003 -> A10000000320 | |
| # 100000004 -> A10000000407 | |
| # 100000005 -> A10000000575 | |
| def luhn_checksum(number): | |
| total=0 |
| ' Output: | |
| '100000000 -> A10000000086 | |
| '100000001 -> A10000000164 | |
| '100000002 -> A10000000242 | |
| '100000003 -> A10000000320 | |
| '100000004 -> A10000000407 | |
| '100000005 -> A10000000575 | |
| Module VBModule |