Update lib.js

master
thyttan 2022-05-11 19:49:40 +02:00 committed by GitHub
parent 87756ece9e
commit d6db4e6be3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 5 deletions

View File

@ -1,14 +1,14 @@
//Multitap logic originally from here: http://www.espruino.com/Morse+Code+Texting //Multitap logic originally from here: http://www.espruino.com/Morse+Code+Texting
exports.input = function(options) { exports.input = function(options) {
options = options||{}; var options = 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) || {}; var settings = require('Storage').readJSON("kbmulti.settings.json", true) || {};
//if (settings.firstLaunch===undefined) { settings.firstLaunch = true; } //if (settings.firstLaunch===undefined) { settings.firstLaunch = true; }
if (settings.charTimeout===undefined) { settings.charTimeout = 500; } if (settings.charTimeout===undefined) { settings.charTimeout = 500; }
if (settings.showHelpBtn===undefined) { settings.showHelpBtn = true; } if (settings.showHelpBtn===undefined) { settings.showHelpBtn = false; }
var fontSize = "6x15"; var fontSize = "6x15";
var Layout = require("Layout"); var Layout = require("Layout");
@ -25,9 +25,9 @@ exports.input = function(options) {
var caps = true; var caps = true;
var layout; var layout;
function displayText() { function displayText(charTimeout) {
layout.clear(layout.text); layout.clear(layout.text);
layout.text.label = text.slice(-12); layout.text.label = text.slice(settings.showHelpBtn ? -12 : -13) + (charTimeout ? " " : "_");
layout.render(layout.text); layout.render(layout.text);
} }
@ -70,12 +70,12 @@ exports.input = function(options) {
} }
var newLetter = letters[charCurrent][charIndex]; var newLetter = letters[charCurrent][charIndex];
text += (caps ? newLetter.toUpperCase() : newLetter.toLowerCase()); text += (caps ? newLetter.toUpperCase() : newLetter.toLowerCase());
displayText();
// set a timeout // set a timeout
charTimeout = setTimeout(function() { charTimeout = setTimeout(function() {
charTimeout = undefined; charTimeout = undefined;
newCharacter(); newCharacter();
}, settings.charTimeout); }, settings.charTimeout);
displayText(charTimeout);
} }
function onSwipe(dirLeftRight, dirUpDown) { function onSwipe(dirLeftRight, dirUpDown) {
@ -139,6 +139,7 @@ exports.input = function(options) {
require('Storage').writeJSON("kbmulti.settings.json", settings); require('Storage').writeJSON("kbmulti.settings.json", settings);
} else { } else {
generateLayout(resolve,reject); generateLayout(resolve,reject);
displayText(false);
Bangle.on('swipe', onSwipe); Bangle.on('swipe', onSwipe);
layout.render(); layout.render();
} }