diff --git a/lib/skulpt/microbit/__init__.js b/lib/skulpt/microbit/__init__.js
index 179081d..43f1ddc 100644
--- a/lib/skulpt/microbit/__init__.js
+++ b/lib/skulpt/microbit/__init__.js
@@ -124,11 +124,11 @@ var accelerometer = function(name) {
});
mod.get_y = new Sk.builtin.func(function() {
- return new Sk.builtin.number(mod.data.y);
+ return new Sk.builtin.nmber(mod.data.y);
});
mod.get_z = new Sk.builtin.func(function() {
- return new Sk.builtin.number(mod.data.z);
+ return new Sk.builtin.nmber(mod.data.z);
});
mod.get_values = new Sk.builtin.func(function() {
@@ -1424,9 +1424,10 @@ var $builtinmodule = function (name) {
html += ' ';
html += '';
html += '
';
- html += 'x:
0';
- html += 'y:
0';
- html += 'z:
9';
+ html += 'x:
0';
+ html += 'y:
0';
+ html += 'z:
9';
+ html += '
';
html += '
Gestures
';
html += '
up';
html += '
down';
@@ -1721,6 +1722,40 @@ var $builtinmodule = function (name) {
step: 1,
change: sliderChange
}).on("slide", sliderChange);
+
+ var accel_mouse_timer = null;
+ $('#accel_check :checkbox').change(function() {
+ if (this.checked) {
+ var mousemove_enabled = false;
+ const offset = $('#microbit').offset();
+ const height = $('#microbit').height();
+ const width = $('#microbit').width();
+ $('#microbit').mousemove(function (event) {
+ // debounce
+ if (!mousemove_enabled) {
+ return;
+ }
+ // Micro:bit accel values are +/- 2000, let's do half for sensitivity
+ const x = ((event.pageX - offset.left) / width) * 2000 - 1000;
+ const y = ((event.pageY - offset.top) / height) * 2000 - 1000;
+ mod.accelerometer.$d.data.x = x;
+ mod.accelerometer.$d.data.y = y;
+
+ $('#mb_acc_slider_x').slider('value', x);
+ $('#mb_acc_slider_y').slider('value', y);
+ $('#mb_acc_value_x').text(Math.floor(x));
+ $('#mb_acc_value_y').text(Math.floor(y));
+ mousemove_enabled = false;
+ });
+
+ accel_mouse_timer = window.setInterval(function () {
+ mousemove_enabled = true;
+ }, 30);
+ } else {
+ $('#microbit').off('mousemove');
+ window.clearInterval(accel_mouse_timer);
+ }
+ });
$('#mb_therm_slider').slider({
value: 23,
min: 0,
diff --git a/lib/skulpt/microbit/mb.css b/lib/skulpt/microbit/mb.css
index 1f8b26d..adc3707 100644
--- a/lib/skulpt/microbit/mb.css
+++ b/lib/skulpt/microbit/mb.css
@@ -98,7 +98,7 @@
height: 100px;
line-height: 100px;
text-align: center;
- vertical-align: center;
+ vertical-align: middle;
background-image: url('compassbk.jpg');
position: relative;
}
@@ -119,6 +119,10 @@
display: inline-block;
margin: 0px 10px 0px 10px;
}
+.mb_slider_acc {
+ display: inline-block;
+ min-width: 2.5em;
+}
#mb_gesture_list {
border-style: solid;
border-width: 1px;
@@ -127,16 +131,16 @@
}
.mb_current_gesture {
color: #F00;
- margin; 1em;
+ margin: 1em;
}
.mb_active_gesture_down {
transform: rotate(180deg);
}
.mb_active_gesture_left, .mb_active_gesture_right {
- -webkit-transform: rotateY(80deg);transform: rotateY(80deg);
+ transform: rotateY(80deg);
}
.mb_active_gesture_facedown {
- -webkit-transform: rotateY(180deg);transform: rotateY(180deg);
+ transform: rotateY(180deg);
}
.mb_active_gesture_freefall {
transform: scale(0.2,0.2);