Can I do this in the emulator? Highlighting of the key and then selecting using the BTN2 ?
Yes... Try:
var KB = [ 'QWERTYUIOP[]', 'ASDFGHJKL;\'#', '\\ZXCVBNM<>/ ']; var KBX = 3; var KBY = 160; var KBS = 20; // key spacing var KBR = 16; // key size var keyx = 0, keyy = 0; function drawKey(x,y,lit) { var px = KBX+x*KBS, py = KBY+y*KBS; g.setColor(lit?-1:0).fillRect(px, py, px+KBR, py+KBR); g.setColor(lit?0:-1).drawString(KB[y][x],px+2,py) g.setColor(-1); } function drawKB() { g.setFont("6x8",2); for (var y=0;y<KB.length;y++) for (var x=0;x<KB[0].length;x++) drawKey(x,y,0); } g.clear(); drawKB(); drawKey(keyx,keyy,1); function moveKey(x,y) { drawKey(keyx,keyy,0); // clear old keyx += x; if (keyx>=KB[0].length) keyx=0; if (keyx<0) keyx=KB[0].length-1; keyy += y; if (keyy>=KB.length) keyy=0; if (keyy<0) keyy=KB.length-1 drawKey(keyx,keyy,1); // show new } setWatch(_=>moveKey(0,-1),BTN1,{repeat:true}); setWatch(_=>moveKey(0,1),BTN3,{repeat:true}); setWatch(_=>moveKey(-1,0),BTN4,{repeat:true}); setWatch(_=>moveKey(1,0),BTN5,{repeat:true}); setWatch(_=>{ var key = KB[keyy][keyx]; console.log(`You pressed "${key}"`); },BTN2,{repeat:true});
@Gordon started
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Yes... Try: