Hide DAL.x behind Enum

This commit is contained in:
Amerlander 2020-02-20 17:00:11 +01:00
parent 004b1d9662
commit 07fe2645cf
56 changed files with 101 additions and 101 deletions

View File

@ -22,13 +22,13 @@ Here's a program that simulates cell life in the LED matrix. Use button ``A`` fo
let lifeChart: Image = null let lifeChart: Image = null
//Use button A for the next iteration of game of life //Use button A for the next iteration of game of life
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
gameOfLife(); gameOfLife();
show(); show();
}) })
//Use button B for reseting to random initial seed state //Use button B for reseting to random initial seed state
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
reset(); reset();
show(); show();
}) })

View File

@ -11,7 +11,7 @@ Let's create a coin flipping program to simulate a real coin toss. We'll use ico
Get an ``||input:on button A pressed||`` block from the ``||input:Input||`` drawer in the toolbox. We'll put our coin flipping code in here. Get an ``||input:on button A pressed||`` block from the ``||input:Input||`` drawer in the toolbox. We'll put our coin flipping code in here.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
}) })
``` ```
@ -22,7 +22,7 @@ Grab an ``||logic:if else||`` block and set it inside ``||input:on button A pres
The ``||Math:pick random true or false||`` returns a random ``true`` or ``false`` value which we use to determine a ``heads`` or ``tails`` result for a coin toss. The ``||Math:pick random true or false||`` returns a random ``true`` or ``false`` value which we use to determine a ``heads`` or ``tails`` result for a coin toss.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (Math.randomBoolean()) { if (Math.randomBoolean()) {
} else { } else {
} }
@ -34,7 +34,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
Now, put a ``||basic:show icon||`` block inside both the ``||logic:if||`` and the ``||logic:else||``. Pick images to mean ``heads`` and ``tails``. Now, put a ``||basic:show icon||`` block inside both the ``||logic:if||`` and the ``||logic:else||``. Pick images to mean ``heads`` and ``tails``.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (Math.randomBoolean()) { if (Math.randomBoolean()) {
basic.showIcon(IconNames.Skull) basic.showIcon(IconNames.Skull)
} else { } else {
@ -52,7 +52,7 @@ Press button **A** in the simulator to try the coin toss code.
You can animate the coin toss to add the feeling of suspense. Place different ``||basic:show icon||`` blocks before the ``||logic:if||`` to show that the coin is flipping. You can animate the coin toss to add the feeling of suspense. Place different ``||basic:show icon||`` blocks before the ``||logic:if||`` to show that the coin is flipping.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showIcon(IconNames.Diamond) basic.showIcon(IconNames.Diamond)
basic.showIcon(IconNames.SmallDiamond) basic.showIcon(IconNames.SmallDiamond)
basic.showIcon(IconNames.Diamond) basic.showIcon(IconNames.Diamond)

View File

@ -12,7 +12,7 @@ Use ``||input:on button pressed||`` to send a text message over radio with ``||r
Every @boardname@ nearby will receive this message. Every @boardname@ nearby will receive this message.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("Yo"); radio.sendString("Yo");
}); });
``` ```
@ -41,7 +41,7 @@ radio.onReceivedString(function (receivedString) {
Press button **A** on the simulator, you will notice that a second @boardname@ appears (if your screen is too small, the simulator might decide not to show it). Try pressing **A** again and notice that the "Yo" message gets displayed on the other @boardname@. Press button **A** on the simulator, you will notice that a second @boardname@ appears (if your screen is too small, the simulator might decide not to show it). Try pressing **A** again and notice that the "Yo" message gets displayed on the other @boardname@.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("Yo"); radio.sendString("Yo");
}); });
radio.onReceivedString(function (receivedString) { radio.onReceivedString(function (receivedString) {

View File

@ -12,7 +12,7 @@ Code the buttons on the @boardname@ to show that it's happy or sad.
Place a ``||input:on button pressed||`` block to run code when button **A** is pressed. Place a ``||input:on button pressed||`` block to run code when button **A** is pressed.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
}); });
``` ```
@ -21,7 +21,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
Place a ``||basic:show leds||`` block inside ``||input:on button pressed||`` to display a smiley on the screen. Press the **A** button in the simulator to see the smiley. Place a ``||basic:show leds||`` block inside ``||input:on button pressed||`` to display a smiley on the screen. Press the **A** button in the simulator to see the smiley.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showLeds(` basic.showLeds(`
# # . # # # # . # #
# # . # # # # . # #
@ -37,7 +37,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
Add ``||input:on button pressed||`` and ``||basic:show leds||`` blocks to display a frowny when button **B** is pressed. Add ``||input:on button pressed||`` and ``||basic:show leds||`` blocks to display a frowny when button **B** is pressed.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
basic.showLeds(` basic.showLeds(`
# # . # # # # . # #
# # . # # # # . # #
@ -53,7 +53,7 @@ input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
Add a secret mode that happens when **A** and **B** are pressed together. For this case, add multiple ``||basic:show leds||`` blocks to create an animation. Add a secret mode that happens when **A** and **B** are pressed together. For this case, add multiple ``||basic:show leds||`` blocks to create an animation.
```blocks ```blocks
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
basic.showLeds(` basic.showLeds(`
. . . . . . . . . .
# . # . . # . # . .

View File

@ -43,7 +43,7 @@ let num = 0
basic.forever(() => { basic.forever(() => {
basic.showNumber(num) basic.showNumber(num)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
num = num + 1 num = num + 1
}) })
``` ```
@ -59,7 +59,7 @@ Try this on your @boardname@:
basic.forever(() => { basic.forever(() => {
basic.showNumber(6789) basic.showNumber(6789)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showNumber(2) basic.showNumber(2)
}) })
``` ```

View File

@ -24,7 +24,7 @@ bluetooth.stopAdvertising();
## Example: stop advertising on button pressed ## Example: stop advertising on button pressed
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
bluetooth.stopAdvertising(); bluetooth.stopAdvertising();
}) })
``` ```

View File

@ -27,7 +27,7 @@ bluetooth.onBluetoothDisconnected(() => {
basic.showString("D"); basic.showString("D");
connected = 0; connected = 0;
}); });
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (connected == 1) { if (connected == 1) {
bluetooth.uartWriteLine("HELLO"); bluetooth.uartWriteLine("HELLO");
} }

View File

@ -27,7 +27,7 @@ bluetooth.onBluetoothDisconnected(() => {
basic.showString("D"); basic.showString("D");
connected = 0; connected = 0;
}); });
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (connected == 1) { if (connected == 1) {
bluetooth.uartWriteString("HELLO"); bluetooth.uartWriteString("HELLO");
} }

View File

@ -29,7 +29,7 @@ control.inBackground(() => {
basic.pause(100) basic.pause(100)
} }
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
num++; num++;
}) })
``` ```
@ -42,7 +42,7 @@ let num = 0
basic.forever(() => { basic.forever(() => {
basic.showNumber(num) basic.showNumber(num)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
num++; num++;
}) })
``` ```

View File

@ -24,11 +24,11 @@ When you get tired of counting, press button `B` to reset the
```blocks ```blocks
let item = 0; let item = 0;
basic.showNumber(item); basic.showNumber(item);
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
item = item + 1; item = item + 1;
basic.showNumber(item); basic.showNumber(item);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
control.reset(); control.reset();
}); });
``` ```

View File

@ -9,7 +9,7 @@ An event handler is code that is associated with a particular event, such as "bu
Functions named "on <event>" create an association between an event and the event handler code. For example, the following code registers the event handler (the code between the `do` and `end` keywords) with the event of a press of button A: Functions named "on <event>" create an association between an event and the event handler code. For example, the following code registers the event handler (the code between the `do` and `end` keywords) with the event of a press of button A:
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showString("hello", 150) basic.showString("hello", 150)
}) })
``` ```
@ -21,7 +21,7 @@ After this code executes, then whenever button A is pressed in the future, the s
Once you have registered an event handler for an event, like above, that event handler is active for the rest of the program execution. If you want to stop the string "hello" from printing each time button A is pressed then you need to arrange for the following code to execute: Once you have registered an event handler for an event, like above, that event handler is active for the rest of the program execution. If you want to stop the string "hello" from printing each time button A is pressed then you need to arrange for the following code to execute:
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
}) })
``` ```
@ -32,10 +32,10 @@ The above code associated an event handler that does nothing with the event of a
The above example also illustrates that there is only one event handler for each event. What is the result of the following code? The above example also illustrates that there is only one event handler for each event. What is the result of the following code?
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showString("hello", 150) basic.showString("hello", 150)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showString("goodbye", 150) basic.showString("goodbye", 150)
}) })
``` ```
@ -43,7 +43,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
The answer is that whenever button A is pressed, the string "goodbye" will be printed. If you want both the strings "hello" and "goodbye" to be printed, you need to write the code like this: The answer is that whenever button A is pressed, the string "goodbye" will be printed. If you want both the strings "hello" and "goodbye" to be printed, you need to write the code like this:
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showString("hello", 150) basic.showString("hello", 150)
basic.showString("goodbye", 150) basic.showString("goodbye", 150)
}) })

View File

@ -16,11 +16,11 @@ Press button ``A`` as much as possible to increase the score.
Press ``B`` to display the score and reset the score. Press ``B`` to display the score and reset the score.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
basic.showNumber(game.score()) basic.showNumber(game.score())
game.setScore(0) game.setScore(0)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
game.addScore(1) game.addScore(1)
}) })
``` ```

View File

@ -16,7 +16,7 @@ Press button ``A`` as much as possible.
At the end of 10 seconds, the program will show your score. At the end of 10 seconds, the program will show your score.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
game.addScore(1) game.addScore(1)
}) })
game.startCountdown(10000) game.startCountdown(10000)

View File

@ -27,7 +27,7 @@ let img = images.createImage(`
. . . . . . . . . .
`) `)
img.showImage(0) img.showImage(0)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
img.clear() img.clear()
img.showImage(0) img.showImage(0)
}) })

View File

@ -14,10 +14,10 @@ If you press button `B`, it shows an animation and ends the game.
```blocks ```blocks
basic.showString("PICK A BUTTON"); basic.showString("PICK A BUTTON");
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
basic.showString("YOU WIN!"); basic.showString("YOU WIN!");
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
game.gameOver(); game.gameOver();
}); });
``` ```

View File

@ -20,7 +20,7 @@ degrees -- exactly the opposite direction.
```blocks ```blocks
let ball = game.createSprite(4, 2); let ball = game.createSprite(4, 2);
basic.showNumber(ball.get(LedSpriteProperty.Direction)); basic.showNumber(ball.get(LedSpriteProperty.Direction));
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
ball.ifOnEdgeBounce(); ball.ifOnEdgeBounce();
basic.showNumber(ball.get(LedSpriteProperty.Direction)); basic.showNumber(ball.get(LedSpriteProperty.Direction));
}); });

View File

@ -13,7 +13,7 @@ This program adds one point to your score every time you press button
second) and shows your score. second) and shows your score.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
game.addScore(1); game.addScore(1);
basic.pause(500); basic.pause(500);
basic.showNumber(game.score()); basic.showNumber(game.score());

View File

@ -16,11 +16,11 @@ Press button ``A`` as much as possible to increase the score.
Press ``B`` to display the score and reset the score. Press ``B`` to display the score and reset the score.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
basic.showNumber(game.score()) basic.showNumber(game.score())
game.setScore(0) game.setScore(0)
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
game.addScore(1) game.addScore(1)
}) })
``` ```

View File

@ -17,7 +17,7 @@ Press button ``A`` as much as possible.
At the end of 10 seconds, the program will show your score. At the end of 10 seconds, the program will show your score.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
game.addScore(1) game.addScore(1)
}) })
game.startCountdown(10000) game.startCountdown(10000)

View File

@ -29,10 +29,10 @@ Display a left arrow when button A is pressed or a right arrow when button B is
let arrowLeft = images.arrowImage(ArrowNames.West) let arrowLeft = images.arrowImage(ArrowNames.West)
let arrowRight = images.arrowImage(ArrowNames.East) let arrowRight = images.arrowImage(ArrowNames.East)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
arrowLeft.showImage(0); arrowLeft.showImage(0);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
arrowRight.showImage(0); arrowRight.showImage(0);
}); });
``` ```

View File

@ -36,10 +36,10 @@ let arrows = images.createBigImage(`
. . # . . . # # # . . . # . . . # # # .
. . # . . . . # . . . . # . . . . # . .
`); `);
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
arrows.showImage(0); arrows.showImage(0);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
arrows.showImage(5); arrows.showImage(5);
}); });
``` ```

View File

@ -25,7 +25,7 @@ arrow and show it on the LED screen. If you press button `B`, the
program will show a picture of the arrow upside-down. program will show a picture of the arrow upside-down.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
images.createImage(` images.createImage(`
. . # . . . . # . .
. # # # . . # # # .
@ -34,7 +34,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
. . # . . . . # . .
`).showImage(0); `).showImage(0);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
images.createImage(` images.createImage(`
. . # . . . . # . .
. . # . . . . # . .

View File

@ -20,10 +20,10 @@ Show a happy face when button A is pressed or a sad face when button B is presse
let iamHappy = images.iconImage(IconNames.Happy) let iamHappy = images.iconImage(IconNames.Happy)
let iamSad = images.iconImage(IconNames.Sad) let iamSad = images.iconImage(IconNames.Sad)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
iamHappy.showImage(0); iamHappy.showImage(0);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
iamSad.showImage(0); iamSad.showImage(0);
}); });
``` ```

View File

@ -31,10 +31,10 @@ let arrows = images.createBigImage(`
. . # . . . # # # . . . # . . . # # # .
. . # . . . . # . . . . # . . . . # . .
`); `);
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
arrows.showImage(0); arrows.showImage(0);
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
arrows.showImage(5); arrows.showImage(5);
}); });
``` ```

View File

@ -3,7 +3,7 @@
Events and data from sensors Events and data from sensors
```cards ```cards
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
}); });
input.onGesture(Gesture.Shake, () => { input.onGesture(Gesture.Shake, () => {

View File

@ -23,7 +23,7 @@ confuse the @boardname@.
This example runs the calibration when the user presses **A+B** buttons. This example runs the calibration when the user presses **A+B** buttons.
```blocks ```blocks
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
input.calibrateCompass(); input.calibrateCompass();
}) })
``` ```

View File

@ -70,7 +70,7 @@ confuse the @boardname@.
Keep the calibration handy by running it when the user pressed **A+B**. Keep the calibration handy by running it when the user pressed **A+B**.
```block ```block
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
input.calibrateCompass(); input.calibrateCompass();
}) })
``` ```

View File

@ -29,7 +29,7 @@ program shows the light level
on the [LED screen](/device/screen). on the [LED screen](/device/screen).
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
let level = input.lightLevel() let level = input.lightLevel()
basic.showNumber(level) basic.showNumber(level)
}) })

View File

@ -9,7 +9,7 @@ on the @boardname@.
* For `A` and `B` together: This handler works when `A` and `B` are both pushed down, then one of them is released within 1.5 seconds of pushing down the second button. * For `A` and `B` together: This handler works when `A` and `B` are both pushed down, then one of them is released within 1.5 seconds of pushing down the second button.
```sig ```sig
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {}) input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {})
``` ```
Find out how buttons provide input to the @boardname@ in this video: Find out how buttons provide input to the @boardname@ in this video:
@ -24,7 +24,7 @@ Each time you press the button, the [LED screen](/device/screen) shows the `coun
```blocks ```blocks
let count = 0 let count = 0
basic.showNumber(count) basic.showNumber(count)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
count++; count++;
basic.showNumber(count); basic.showNumber(count);
}) })
@ -35,7 +35,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
This example shows a number from 1 to 6 when you press the `B` button. This example shows a number from 1 to 6 when you press the `B` button.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
let dice = Math.randomRange(0, 5) + 1 let dice = Math.randomRange(0, 5) + 1
basic.showNumber(dice) basic.showNumber(dice)
}) })

View File

@ -18,7 +18,7 @@ program finds the number of milliseconds since the program started
and shows it on the [LED screen](/device/screen). and shows it on the [LED screen](/device/screen).
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
let now = input.runningTime() let now = input.runningTime()
basic.showNumber(now) basic.showNumber(now)
}) })

View File

@ -15,7 +15,7 @@ led.enable(false);
This program turns off the screen when pressing button ``B`` This program turns off the screen when pressing button ``B``
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
led.enable(false) led.enable(false)
}); });
``` ```

View File

@ -13,7 +13,7 @@ This program sets up the ``stop animation`` part of the program,
and then shows a string that you can stop with button ``B``. and then shows a string that you can stop with button ``B``.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
led.stopAnimation(); led.stopAnimation();
}); });
basic.showString("STOP ME! STOP ME! PLEASE, WON'T SOMEBODY STOP ME?"); basic.showString("STOP ME! STOP ME! PLEASE, WON'T SOMEBODY STOP ME?");

View File

@ -43,7 +43,7 @@ music.onEvent(MusicEvent.BackgroundMelodyResumed, () => {
music.onEvent(MusicEvent.BackgroundMelodyRepeated, () => { music.onEvent(MusicEvent.BackgroundMelodyRepeated, () => {
serial.writeLine("background repeated") serial.writeLine("background repeated")
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
music.beginMelody(music.builtInMelody(Melodies.BaDing), MelodyOptions.Once) music.beginMelody(music.builtInMelody(Melodies.BaDing), MelodyOptions.Once)
}) })
music.setTempo(100) music.setTempo(100)

View File

@ -17,7 +17,7 @@ This example send the frequency and duration over radio
and plays it on the remote @boardname@. and plays it on the remote @boardname@.
```typescript ```typescript
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
music.playTone(440, 120) music.playTone(440, 120)
led.toggle(0, 0) led.toggle(0, 0)
}) })
@ -26,7 +26,7 @@ radio.onReceivedNumber(function (receivedNumber) {
const duration = receivedNumber & 0xffff; const duration = receivedNumber & 0xffff;
music.playTone(freq, duration); music.playTone(freq, duration);
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
music.setPlayTone((frequency: number, duration: number) => { music.setPlayTone((frequency: number, duration: number) => {
radio.sendNumber((frequency << 16) | (duration & 0xffff)); radio.sendNumber((frequency << 16) | (duration & 0xffff));
}) })

View File

@ -48,7 +48,7 @@ keeper @boardname@, you can press button `B` on the remote to buzz and
make the score bigger on the other @boardname@. make the score bigger on the other @boardname@.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
pins.digitalWritePin(DigitalPin.P1, 1); pins.digitalWritePin(DigitalPin.P1, 1);
basic.pause(500); basic.pause(500);
pins.digitalWritePin(DigitalPin.P1, 0); pins.digitalWritePin(DigitalPin.P1, 0);

View File

@ -46,7 +46,7 @@ will use ``digital write pin`` to make the other @boardname@ buzz and
make the score bigger. make the score bigger.
```blocks ```blocks
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
pins.digitalWritePin(DigitalPin.P1, 1); pins.digitalWritePin(DigitalPin.P1, 1);
basic.pause(500); basic.pause(500);
pins.digitalWritePin(DigitalPin.P1, 0); pins.digitalWritePin(DigitalPin.P1, 0);

View File

@ -34,7 +34,7 @@ If you load this program onto two or more @boardname@s, you can send a code word
The other @boardname@s will receive the code word and then show it. The other @boardname@s will receive the code word and then show it.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("Codeword: TRIMARAN") radio.sendString("Codeword: TRIMARAN")
basic.showString("SENT"); basic.showString("SENT");
}) })
@ -59,10 +59,10 @@ This program will also receive your friend's mood.
```blocks ```blocks
let data: string = ""; let data: string = "";
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("H"); radio.sendString("H");
}); });
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
radio.sendString("S"); radio.sendString("S");
}); });
radio.onDataReceived(() => { radio.onDataReceived(() => {

View File

@ -27,7 +27,7 @@ in the `x` direction (left and right) to other @boardname@s. This kind
of program might be useful in a model car or model rocket. of program might be useful in a model car or model rocket.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendNumber(input.acceleration(Dimension.X)) radio.sendNumber(input.acceleration(Dimension.X))
}) })
``` ```

View File

@ -26,7 +26,7 @@ code word from one of them to the others by pressing button `A`. The
other @boardname@s will receive the code word and then show it. other @boardname@s will receive the code word and then show it.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendString("Codeword: TRIMARAN") radio.sendString("Codeword: TRIMARAN")
basic.showString("SENT"); basic.showString("SENT");
}) })

View File

@ -29,7 +29,7 @@ or model rocket.
```blocks ```blocks
radio.setGroup(99) radio.setGroup(99)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendValue("acc", input.acceleration(Dimension.X)) radio.sendValue("acc", input.acceleration(Dimension.X))
}) })
``` ```

View File

@ -29,7 +29,7 @@ the second @boardname@), this program sends temperature data to
serial. serial.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
radio.sendNumber(input.temperature()); radio.sendNumber(input.temperature());
}); });
radio.onDataReceived(() => { radio.onDataReceived(() => {

View File

@ -32,7 +32,7 @@ serial port to use the pins. The new configuration uses pin ``P1`` to transmit a
``P2`` to receive. The baud rate is set to `9600`. ``P2`` to receive. The baud rate is set to `9600`.
```blocks ```blocks
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
serial.redirect(SerialPin.P1, SerialPin.P2, BaudRate.BaudRate9600); serial.redirect(SerialPin.P1, SerialPin.P2, BaudRate.BaudRate9600);
}); });
``` ```

View File

@ -57,7 +57,7 @@ You could simply save the light measurements in an array like this:
```blocks ```blocks
let darkness: number[] = [] let darkness: number[] = []
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
for (let i = 0; i < 60 * 4; i++) { for (let i = 0; i < 60 * 4; i++) {
darkness.push(input.lightLevel()) darkness.push(input.lightLevel())
basic.pause(60000) basic.pause(60000)
@ -77,7 +77,7 @@ The code in blocks for recording the light level is modified to make our file da
```typescript-ignore ```typescript-ignore
let darkness = pins.createBuffer(60 * 4); let darkness = pins.createBuffer(60 * 4);
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
for (let i = 0; i < 60 * 4; i++) { for (let i = 0; i < 60 * 4; i++) {
darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel()) darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel())
basic.pause(60000) basic.pause(60000)
@ -90,7 +90,7 @@ Later, we can upload the file to the laptop computer by pressing the **B** butto
```typescript-ignore ```typescript-ignore
let dataReady = false; let dataReady = false;
let darkness = pins.createBuffer(60 * 4); let darkness = pins.createBuffer(60 * 4);
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
for (let i = 0; i < 60 * 4; i++) { for (let i = 0; i < 60 * 4; i++) {
darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel()) darkness.setNumber(NumberFormat.UInt8LE, i, input.lightLevel())
basic.pause(60000) basic.pause(60000)
@ -98,7 +98,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
dataReady = true; dataReady = true;
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
if (dataReady) { if (dataReady) {
serial.writeLine("Transferring file: DARKNESS, Length: " + darkness.length + " bytes..."); serial.writeLine("Transferring file: DARKNESS, Length: " + darkness.length + " bytes...");
serial.writeBuffer(darkness) serial.writeBuffer(darkness)

View File

@ -388,7 +388,7 @@
"input.onLogoUp": "Attaches code to run when the logo is oriented upwards and the board is vertical.", "input.onLogoUp": "Attaches code to run when the logo is oriented upwards and the board is vertical.",
"input.onLogoUp|param|body": "TODO", "input.onLogoUp|param|body": "TODO",
"input.onPinEvent": "Do something when a pin is touched and released again (while also touching the GND pin).", "input.onPinEvent": "Do something when a pin is touched and released again (while also touching the GND pin).",
"input.onPinEvent|param|body": "the code to run when the pin is pressed", "input.onPinEvent|param|body": "the code to run when event is fired on pin",
"input.onPinEvent|param|name": "the pin, eg: TouchPin.P0", "input.onPinEvent|param|name": "the pin, eg: TouchPin.P0",
"input.onScreenDown": "Attaches code to run when the screen is facing down.", "input.onScreenDown": "Attaches code to run when the screen is facing down.",
"input.onScreenDown|param|body": "TODO", "input.onScreenDown|param|body": "TODO",

View File

@ -323,9 +323,9 @@ namespace game {
} }
function unplugEvents(): void { function unplugEvents(): void {
input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { }); input.onButtonEvent(Button.A, ButtonEvent.Click, () => { });
input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { }); input.onButtonEvent(Button.B, ButtonEvent.Click, () => { });
input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
control.reset(); control.reset();
}); });
} }

View File

@ -230,9 +230,9 @@ namespace input {
/** /**
* Do something when a pin is touched and released again (while also touching the GND pin). * Do something when a pin is touched and released again (while also touching the GND pin).
* @param name the pin, eg: TouchPin.P0 * @param name the pin, eg: TouchPin.P0
* @param body the code to run when the pin is pressed * @param body the code to run when event is fired on pin
*/ */
//% help=input/on-pin-pressed weight=83 blockGap=32 //% help=input/on-pin-event weight=83 blockGap=32
//% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id" //% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id"
void onPinEvent(TouchPin name, int eventType, Action body) { void onPinEvent(TouchPin name, int eventType, Action body) {
auto pin = getPin((int)name); auto pin = getPin((int)name);

View File

@ -257,9 +257,9 @@ declare namespace input {
/** /**
* Do something when a pin is touched and released again (while also touching the GND pin). * Do something when a pin is touched and released again (while also touching the GND pin).
* @param name the pin, eg: TouchPin.P0 * @param name the pin, eg: TouchPin.P0
* @param body the code to run when the pin is pressed * @param body the code to run when event is fired on pin
*/ */
//% help=input/on-pin-pressed weight=83 blockGap=32 //% help=input/on-pin-event weight=83 blockGap=32
//% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id" shim=input::onPinEvent //% blockId=device_pin_event block="on pin %name|is %eventType=control_button_event_value_id" shim=input::onPinEvent
function onPinEvent(name: TouchPin, eventType: int32, body: () => void): void; function onPinEvent(name: TouchPin, eventType: int32, body: () => void): void;

View File

@ -15,9 +15,9 @@ namespace pxsim.input {
b.usesButtonAB = true; b.usesButtonAB = true;
runtime.queueDisplayUpdate(); runtime.queueDisplayUpdate();
} }
pxtcore.registerWithDal(button, DAL.MICROBIT_BUTTON_EVT_CLICK, handler); pxtcore.registerWithDal(button, ButtonEvent.Click, handler);
} }
export function buttonIsPressed(button: number): boolean { export function buttonIsPressed(button: number): boolean {
let b = board().buttonPairState; let b = board().buttonPairState;
if (button == b.abBtn.id && !b.usesButtonAB) { if (button == b.abBtn.id && !b.usesButtonAB) {

View File

@ -13,7 +13,7 @@ namespace pxsim.input {
if (!pin) return; if (!pin) return;
pin.isTouched(); pin.isTouched();
runtime.queueDisplayUpdate(); runtime.queueDisplayUpdate();
pxtcore.registerWithDal(pin.id, DAL.MICROBIT_BUTTON_EVT_CLICK, handler); pxtcore.registerWithDal(pin.id, ButtonEvent.Click, handler);
} }
// Deprecated // Deprecated

View File

@ -7,7 +7,7 @@ let level: number
let swapSpeed: number let swapSpeed: number
initializeGame() initializeGame()
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (ballRevealing) { if (ballRevealing) {
index = index + 1 index = index + 1
if (index > 2) { if (index > 2) {
@ -16,7 +16,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
basic.showString(cupSelect[index], 150) basic.showString(cupSelect[index], 150)
} }
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
if (ballRevealing) { if (ballRevealing) {
ballRevealing = false ballRevealing = false
if (correctBall == index) { if (correctBall == index) {

View File

@ -18,7 +18,7 @@ counter = 0
pause = 700 pause = 700
led.plot(oneX, oneY) led.plot(oneX, oneY)
led.plot(twoX, twoY) led.plot(twoX, twoY)
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
if (oneX > 0) { if (oneX > 0) {
led.unplot(oneX, oneY) led.unplot(oneX, oneY)
led.unplot(twoX, twoY) led.unplot(twoX, twoY)
@ -28,7 +28,7 @@ input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => {
led.plot(twoX, twoY) led.plot(twoX, twoY)
} }
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
if (twoX < 4) { if (twoX < 4) {
led.unplot(oneX, oneY) led.unplot(oneX, oneY)
led.unplot(twoX, twoY) led.unplot(twoX, twoY)

View File

@ -107,12 +107,12 @@ basic.forever(() => {
basic.pause(500) basic.pause(500)
} }
}) })
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
let temp = Math.abs(person.dirX) * (-1) let temp = Math.abs(person.dirX) * (-1)
person.dirX = Math.abs(person.dirY) * (-1) person.dirX = Math.abs(person.dirY) * (-1)
person.dirY = temp person.dirY = temp
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
let temp1 = Math.abs(person.dirX) let temp1 = Math.abs(person.dirX)
person.dirX = Math.abs(person.dirY) person.dirX = Math.abs(person.dirY)
person.dirY = temp1 person.dirY = temp1

View File

@ -24,13 +24,13 @@ playOneGame(gameTime)
showFinalScores(scoreA, scoreB) showFinalScores(scoreA, scoreB)
function startIOMonitor() { function startIOMonitor() {
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
AWasPressed = true AWasPressed = true
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
BWasPressed = true BWasPressed = true
}) })
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
ABWasPressed = true ABWasPressed = true
AWasPressed = false AWasPressed = false
BWasPressed = false BWasPressed = false

View File

@ -501,13 +501,13 @@ function convertPenaltyTimeToScore(penaltyTime: number): number {
} }
function startIOMonitor() { function startIOMonitor() {
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
AWasPressed = true AWasPressed = true
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
BWasPressed = true BWasPressed = true
}) })
input.input.onButtonEvent(Button.AB, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.AB, ButtonEvent.Click, () => {
ABWasPressed = true ABWasPressed = true
}) })
input.onShake(() => { input.onShake(() => {

View File

@ -377,11 +377,11 @@ function beepNTimesFor(times: number, duration: number) {
function startIOMonitor() { function startIOMonitor() {
aWasPressed = false aWasPressed = false
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
aWasPressed = true aWasPressed = true
}) })
bWasPressed = false bWasPressed = false
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
bWasPressed = true bWasPressed = true
}) })
wasTweezers = false wasTweezers = false

View File

@ -476,10 +476,10 @@ function testTiltZ() {
} }
function startIOMonitor() { function startIOMonitor() {
input.input.onButtonEvent(Button.A, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.A, ButtonEvent.Click, () => {
AWasPressed = true AWasPressed = true
}) })
input.input.onButtonEvent(Button.B, DAL.MICROBIT_BUTTON_EVT_CLICK, () => { input.input.onButtonEvent(Button.B, ButtonEvent.Click, () => {
BWasPressed = true BWasPressed = true
}) })
input.onShake(() => { input.onShake(() => {