summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-06-29 22:35:00 +0200
committerBad Diode <bd@badd10de.dev>2023-06-29 22:35:00 +0200
commitdb570495288125294e8cd33e8d03cb14b8ac0671 (patch)
tree22e8765023709ad57af50197dcaa32a4ba226b80
parent6cd23251029da176a696560e175853ed38fe34d4 (diff)
downloadlaunchpad-polymaker-db570495288125294e8cd33e8d03cb14b8ac0671.tar.gz
launchpad-polymaker-db570495288125294e8cd33e8d03cb14b8ac0671.zip
Add sensitivity threshold to avoid bouncing
-rw-r--r--src/app.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/app.c b/src/app.c
index f3708d6..b10a516 100644
--- a/src/app.c
+++ b/src/app.c
@@ -683,16 +683,30 @@ app_surface_event(u8 type, u8 index, u8 value) {
683 if (value) { 683 if (value) {
684 float vel = value; 684 float vel = value;
685 switch (state.kbd_sense) { 685 switch (state.kbd_sense) {
686 case SENS_NO: { value = 100; } break; 686 case SENS_NO: {
687 if (value < 7) {
688 return;
689 }
690 value = 100;
691 } break;
687 case SENS_LOW: { 692 case SENS_LOW: {
693 if (value < 20) {
694 return;
695 }
688 vel = LERP(vel / 127, 55, 105); 696 vel = LERP(vel / 127, 55, 105);
689 value = vel; 697 value = vel;
690 } break; 698 } break;
691 case SENS_MED: { 699 case SENS_MED: {
700 if (value < 10) {
701 return;
702 }
692 vel = LERP(vel / 127, 40, 110); 703 vel = LERP(vel / 127, 40, 110);
693 value = vel; 704 value = vel;
694 } break; 705 } break;
695 case SENS_HIGH: { 706 case SENS_HIGH: {
707 if (value < 5) {
708 return;
709 }
696 vel = LERP(vel / 127, 20, 120); 710 vel = LERP(vel / 127, 20, 120);
697 value = vel; 711 value = vel;
698 } break; 712 } break;