diff --git a/libs/microbit/input.ts b/libs/microbit/input.ts index 7bcfc67c..608263b4 100644 --- a/libs/microbit/input.ts +++ b/libs/microbit/input.ts @@ -4,12 +4,12 @@ enum Button { //% enumval=MICROBIT_ID_BUTTON_B B, //% enumval=MICROBIT_ID_BUTTON_AB - //% blockId="A+B" + //% blockId="A+B" block="A+B" AB, } enum Dimension { - //% enumval=0 blockId=x + //% enumval=0 blockId=x X, //% enumval=1 blockId=y Y, diff --git a/libs/microbit/kind.json b/libs/microbit/kind.json index 050bc40c..105d22f6 100644 --- a/libs/microbit/kind.json +++ b/libs/microbit/kind.json @@ -20,8 +20,13 @@ "dependencies": {}, "target": { "id": "microbit", - "name": "microbit", - "title": "micro:bit", + "name": "BBC micro:bit", + "title": "JavaScript for BBC micro:bit", + "theme": { + "logoUrl": "https://www.microbit.co.uk/", + "logo":"BBC micro:bit", + "footerLogo": "image/svg+xml" + }, "cloud": true, "blocksprj": { "id": "blocksprj", @@ -63,10 +68,11 @@ "README.md": "Describe your project here!" } }, - "koduvscode": true, + "koduUrl": "https://www.kodugamelab.com/bbc-microbit/", + "visualStudioCode": true, "compile": { "isNative": false, "hasHex": true } } -} +} \ No newline at end of file diff --git a/sim/libmbit.ts b/sim/libmbit.ts index 28effcc2..8dd45886 100644 --- a/sim/libmbit.ts +++ b/sim/libmbit.ts @@ -213,16 +213,22 @@ namespace ks.rt.micro_bit { /* input */ export function onButtonPressed(button : number, handler: RefAction) : void { let ens = enums(); - board().bus.listen(button, ens.MICROBIT_BUTTON_EVT_CLICK, handler); + let b = board(); + if (button == ens.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { + b.usesButtonAB = true; + b.updateView(); + } + b.bus.listen(button, ens.MICROBIT_BUTTON_EVT_CLICK, handler); } export function isButtonPressed(button: number): boolean { var ens = enums(); + let b = board(); if (button == ens.MICROBIT_ID_BUTTON_AB && !board().usesButtonAB) { - board().usesButtonAB = true; - runtime.queueDisplayUpdate(); + b.usesButtonAB = true; + b.updateView(); } - var bts = board().buttons; + var bts = b.buttons; if (button == ens.MICROBIT_ID_BUTTON_A) return bts[0].pressed; if (button == ens.MICROBIT_ID_BUTTON_B) return bts[1].pressed; return bts[2].pressed || (bts[0].pressed && bts[1].pressed);