From 20c28b9ef14c6d2029fb381a1123cd26befc9010 Mon Sep 17 00:00:00 2001 From: Rob Pilling Date: Sat, 20 Apr 2024 12:20:01 +0100 Subject: [PATCH] kbmulti: add setting to vibrate on interaction --- apps/kbmulti/lib.js | 7 +++++++ apps/kbmulti/settings.js | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/apps/kbmulti/lib.js b/apps/kbmulti/lib.js index 471544b92..bdd43d7aa 100644 --- a/apps/kbmulti/lib.js +++ b/apps/kbmulti/lib.js @@ -10,6 +10,7 @@ exports.input = function(options) { showHelpBtn: true, charTimeout: 500, autoLowercase: true, + vibrate: false, }, require('Storage').readJSON("kbmulti.settings.json", true)); var fontSize = "6x15"; @@ -99,7 +100,12 @@ exports.input = function(options) { charIndex = 0; } + function onInteract() { + if (settings.vibrate) Bangle.buzz(20); + } + function onKeyPad(key) { + onInteract(); var retire = 0; deactivateTimeout(charTimeout); // work out which char was pressed @@ -136,6 +142,7 @@ exports.input = function(options) { var moveMode = false; function onSwipe(dirLeftRight, dirUpDown) { + onInteract(); if (dirUpDown == -1) { moveMode = !moveMode; displayText(false); diff --git a/apps/kbmulti/settings.js b/apps/kbmulti/settings.js index 7ec7fd0cf..a39aa2e6c 100644 --- a/apps/kbmulti/settings.js +++ b/apps/kbmulti/settings.js @@ -4,6 +4,7 @@ showHelpBtn: true, charTimeout: 500, autoLowercase: true, + vibrate: false, }, require('Storage').readJSON("kbmulti.settings.json", true)); return settings; @@ -30,6 +31,10 @@ value: !!settings().autoLowercase, onchange: v => updateSetting("autoLowercase", v) }, + /*LANG*/'Vibrate on keypress': { + value: !!settings().vibrate, + onchange: v => updateSetting("vibrate", v) + }, /*LANG*/'Show help button?': { value: !!settings().showHelpBtn, onchange: v => updateSetting("showHelpBtn", v)