Improved input through locking

pull/2133/head
David Peer 2022-09-17 17:26:43 +02:00
parent 274544ec0f
commit 37ff21b7fa
1 changed files with 9 additions and 0 deletions

View File

@ -28,6 +28,7 @@ for (const key in saved_settings) {
settings[key] = saved_settings[key] settings[key] = saved_settings[key]
} }
var lock_input = false;
/************ /************
* Assets * Assets
@ -189,6 +190,9 @@ menu.forEach((menuItm, x) => {
// immedeately after redraw... // immedeately after redraw...
item.hide(); item.hide();
// After drawing the item, we enable inputs again...
lock_input = false;
var info = item.get(); var info = item.get();
drawMenuItem(info.text, info.img); drawMenuItem(info.text, info.img);
} }
@ -335,6 +339,7 @@ function drawMenuAndTime(){
} }
// Draw item if needed // Draw item if needed
lock_input = true;
var item = menuEntry.items[settings.menuPosY-1]; var item = menuEntry.items[settings.menuPosY-1];
item.show(); item.show();
} }
@ -420,6 +425,10 @@ Bangle.on('touch', function(btn, e){
var is_right = e.x > right && !is_upper && !is_lower; var is_right = e.x > right && !is_upper && !is_lower;
var is_center = !is_upper && !is_lower && !is_left && !is_right; var is_center = !is_upper && !is_lower && !is_left && !is_right;
if(lock_input){
return;
}
if(is_lower){ if(is_lower){
Bangle.buzz(40, 0.6); Bangle.buzz(40, 0.6);
settings.menuPosY = (settings.menuPosY+1) % (menu[settings.menuPosX].items.length+1); settings.menuPosY = (settings.menuPosY+1) % (menu[settings.menuPosX].items.length+1);