mirror of https://github.com/espruino/BangleApps
94 lines
2.3 KiB
JavaScript
94 lines
2.3 KiB
JavaScript
|
var storage = require('Storage');
|
||
|
|
||
|
const settings = storage.readJSON('setting.json',1) || { HID: false };
|
||
|
|
||
|
var sendHid, next, prev, toggle, up, down, profile;
|
||
|
var lasty = 0;
|
||
|
var lastx = 0;
|
||
|
|
||
|
if (settings.HID=="kbmedia") {
|
||
|
profile = 'Music';
|
||
|
sendHid = function (code, cb) {
|
||
|
try {
|
||
|
NRF.sendHIDReport([1,code], () => {
|
||
|
NRF.sendHIDReport([1,0], () => {
|
||
|
if (cb) cb();
|
||
|
});
|
||
|
});
|
||
|
} catch(e) {
|
||
|
print(e);
|
||
|
}
|
||
|
};
|
||
|
next = function (cb) { sendHid(0x01, cb); };
|
||
|
prev = function (cb) { sendHid(0x02, cb); };
|
||
|
toggle = function (cb) { sendHid(0x10, cb); };
|
||
|
up = function (cb) {sendHid(0x40, cb); };
|
||
|
down = function (cb) { sendHid(0x80, cb); };
|
||
|
} else {
|
||
|
E.showPrompt("Enable HID?",{title:"HID disabled"}).then(function(enable) {
|
||
|
if (enable) {
|
||
|
settings.HID = "kbmedia";
|
||
|
require("Storage").write('setting.json', settings);
|
||
|
setTimeout(load, 1000, "hidmsicswipe.app.js");
|
||
|
} else setTimeout(load, 1000);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function drawApp() {
|
||
|
g.clear();
|
||
|
if(Bangle.isLocked()==false) E.showMessage('Swipe', 'Music');
|
||
|
else E.showMessage('Locked', 'Music');
|
||
|
}
|
||
|
|
||
|
if (next) {
|
||
|
setWatch(function(e) {
|
||
|
var len = e.time - e.lastTime;
|
||
|
E.showMessage('lock');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
Bangle.setLocked(true);
|
||
|
}, BTN1, { edge:"falling",repeat:true,debounce:50});
|
||
|
Bangle.on('drag', function(e) {
|
||
|
if(!e.b){
|
||
|
//console.log(lasty);
|
||
|
//console.log(lastx);
|
||
|
if(lasty > 40){
|
||
|
E.showMessage('down');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
down(() => {});
|
||
|
}
|
||
|
else if(lasty < -40){
|
||
|
E.showMessage('up');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
up(() => {});
|
||
|
} else if(lastx < -40){
|
||
|
E.showMessage('prev');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
prev(() => {});
|
||
|
} else if(lastx > 40){
|
||
|
E.showMessage('next');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
next(() => {});
|
||
|
} else if(lastx==0 && lasty==0){
|
||
|
E.showMessage('play/pause');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
toggle(() => {});
|
||
|
}
|
||
|
lastx = 0;
|
||
|
lasty = 0;
|
||
|
}
|
||
|
else{
|
||
|
lastx = lastx + e.dx;
|
||
|
lasty = lasty + e.dy;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
Bangle.on("lock", function(on) {
|
||
|
if(!on){
|
||
|
E.showMessage('unlock');
|
||
|
setTimeout(drawApp, 1000);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
drawApp();
|
||
|
}
|