Focus V3 has a hierarchical memu structure. Use the 5-way joystick to navigate UP and Down and change values using Left and Right.

Try the V3 UI emulator here using your cursor keys:



To navigate, click the buttons below or press the arrow and enter keys on the keyboard.




let initialState = 'splashscreen-focus'; let imagesRelpath = "https://www.foc.us/vseriesStructure/img/";

fsm = new Stately(statesObject, initialState); document.addEventListener('keydown', (key) => {onKeyPress(key)} ); jQuery('#emulatorblurb').text(fsm.getMachineState()); updateOthers(initialState);

function setImageSrc(state) { if (state.includes('bipolar') || state.includes('current') || state.includes('currentoffset') || state.includes('duration') || state.includes('frequency') || (state.includes('mode') && !state.includes('airmode')) || state.includes('placebo') || state.includes('polarity') || state.includes('voltage') || (state.includes('power') && !state.startsWith('settings')) || state.includes('intensity') || state.includes('gradient') || (state.includes('start') && !state.startsWith('settings')) || state.includes('edit') || (state.includes('timed') && !state.includes('animation')) || state.includes('dream') || state.includes('exit')) state = state.substring(state.indexOf('-') + 1); if (state.includes('inedit')) state = state.replace('inedit', ''); let imgsrc = imagesRelpath + state + ".bmp"; jQuery('#imgelem').attr('src', imgsrc); }

function updateOthers(txt) { setImageSrc(txt); if (blurbsJSON[txt]) jQuery('#emulatorblurb').text(blurbsJSON[txt]); else jQuery('#emulatorblurb').text(txt); }

function buttonUp(event) { if (event) event.preventDefault(); fsm.up(); updateOthers(txt); }

function buttonDown(event) { if (event) event.preventDefault(); fsm.down(); updateOthers(txt); }

function buttonLeft(event) { if (event) event.preventDefault(); fsm.left(); updateOthers(txt); }

function buttonRight(event) { if (event) event.preventDefault(); fsm.right(); updateOthers(txt); }

function buttonPress(event) { if (event) event.preventDefault(); fsm.press(); updateOthers(txt); }

function onKeyPress(event) { if (event.key == 'ArrowUp') buttonUp(event); else if (event.key == 'ArrowDown') buttonDown(event); else if (event.key == 'ArrowLeft') buttonLeft(event); else if (event.key == 'ArrowRight') buttonRight(event); else if (event.key == 'Enter') buttonPress(event); }