mirror of https://github.com/espruino/BangleApps
Update lib.js
Updated with more feedback http://forum.espruino.com/comments/16515847/ Next to add the settings app, update README and screenshots and release.pull/1814/head
parent
130e969883
commit
18967ef7cc
|
@ -5,13 +5,16 @@ exports.input = function(options) {
|
||||||
var text = options.text;
|
var text = options.text;
|
||||||
if ("string"!=typeof text) text="";
|
if ("string"!=typeof text) text="";
|
||||||
|
|
||||||
|
var settings = require('Storage').readJSON("kbmulti.settings.json", true) || {};
|
||||||
|
if (settings.firstLaunch==undefined) { settings.firstLaunch = true; }
|
||||||
|
if (settings.charTimeout==undefined) { settings.charTimeout = 500; }
|
||||||
|
|
||||||
var fontSize = "6x15";
|
var fontSize = "6x15";
|
||||||
var Layout = require("Layout");
|
var Layout = require("Layout");
|
||||||
var letters = {
|
var letters = {
|
||||||
"1":".,!?1","2":"ABC2","3":"DEF3",
|
"1":".,!?1","2":"ABC2","3":"DEF3",
|
||||||
"4":"GHI4","5":"JKL5","6":"MNO6",
|
"4":"GHI4","5":"JKL5","6":"MNO6",
|
||||||
"7":"PQRS7","8":"TUV80","9":"WXYZ9",
|
"7":"PQRS7","8":"TUV80","9":"WXYZ9",
|
||||||
//"0":"_@:/0"
|
|
||||||
};
|
};
|
||||||
var helpMessage = 'swipe:\nRight: Space\nLeft:Backspace\nUp/Down: Caps lock\n';
|
var helpMessage = 'swipe:\nRight: Space\nLeft:Backspace\nUp/Down: Caps lock\n';
|
||||||
|
|
||||||
|
@ -71,7 +74,7 @@ exports.input = function(options) {
|
||||||
charTimeout = setTimeout(function() {
|
charTimeout = setTimeout(function() {
|
||||||
charTimeout = undefined;
|
charTimeout = undefined;
|
||||||
newCharacter();
|
newCharacter();
|
||||||
}, 500);
|
}, settings.charTimeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSwipe(dirLeftRight, dirUpDown) {
|
function onSwipe(dirLeftRight, dirUpDown) {
|
||||||
|
@ -85,20 +88,24 @@ exports.input = function(options) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onHelp() {
|
function onHelp(resolve,reject) {
|
||||||
Bangle.removeListener("swipe", onSwipe);
|
Bangle.removeListener("swipe", onSwipe);
|
||||||
E.showPrompt(
|
E.showPrompt(
|
||||||
helpMessage, {title: "Help", buttons : {"Ok":true}}
|
helpMessage, {title: "Help", buttons : {"Ok":true}}
|
||||||
).then(function(v) {
|
).then(function(v) {
|
||||||
Bangle.on('swipe', onSwipe);
|
Bangle.on('swipe', onSwipe);
|
||||||
|
generateLayout(resolve,reject);
|
||||||
layout.render();
|
layout.render();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Promise((resolve,reject) => {
|
function generateLayout(resolve,reject) {
|
||||||
layout = new Layout( {
|
layout = new Layout( {
|
||||||
type:"v", c: [
|
type:"v", c: [
|
||||||
{type:"txt", font:"10%", label:text, id:"text", cb: l=>onHelp(), fillx:1},
|
{type:"h", c: [
|
||||||
|
{type:"txt", font:"12x20", label:text.slice(-12), id:"text", fillx:1},
|
||||||
|
{type:"btn", font:'6x8', label:'?', cb: l=>onHelp(resolve,reject), filly:1 },
|
||||||
|
]},
|
||||||
{type:"h", c: [
|
{type:"h", c: [
|
||||||
{type:"btn", font:fontSize, label:letters[1], cb: l=>onKeyPad(1), id:'1', fillx:1, filly:1 },
|
{type:"btn", font:fontSize, label:letters[1], cb: l=>onKeyPad(1), id:'1', fillx:1, filly:1 },
|
||||||
{type:"btn", font:fontSize, label:letters[2], cb: l=>onKeyPad(2), id:'2', fillx:1, filly:1 },
|
{type:"btn", font:fontSize, label:letters[2], cb: l=>onKeyPad(2), id:'2', fillx:1, filly:1 },
|
||||||
|
@ -121,8 +128,18 @@ function onHelp() {
|
||||||
g.clearRect(Bangle.appRect);
|
g.clearRect(Bangle.appRect);
|
||||||
resolve(text);
|
resolve(text);
|
||||||
}});
|
}});
|
||||||
|
}
|
||||||
|
|
||||||
|
return new Promise((resolve,reject) => {
|
||||||
g.clearRect(Bangle.appRect);
|
g.clearRect(Bangle.appRect);
|
||||||
|
if (settings.firstLaunch) {
|
||||||
|
onHelp(resolve,reject);
|
||||||
|
settings.firstLaunch = false;
|
||||||
|
require('Storage').writeJSON("kbmulti.settings.json", settings);
|
||||||
|
} else {
|
||||||
|
generateLayout(resolve,reject);
|
||||||
Bangle.on('swipe', onSwipe);
|
Bangle.on('swipe', onSwipe);
|
||||||
layout.render();
|
layout.render();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue