Compare commits

...

2 Commits

Author SHA1 Message Date
0974ab16da add shift-holding 2020-03-18 23:23:11 -07:00
2235d35d25 LCD func for persistent display 2020-03-18 23:22:46 -07:00

View File

@ -43,7 +43,7 @@ Mode currMode = MODE_LEFT_CLICK;
char *modeNames[] = {
"Click mode ",
"Walking mode "
"Keyboard mode "
};
int modeColors[] = {
@ -57,10 +57,11 @@ extern void clickFaster();
extern void walkForward();
extern void walkBackward();
extern void holdShift();
void (*upButtonFuncs[])() = { NULL, walkForward };
void (*downButtonFuncs[])() = { clickActivate, walkBackward };
void (*leftButtonFuncs[])() = { clickSlower, NULL };
void (*leftButtonFuncs[])() = { clickSlower, holdShift };
void (*rightButtonFuncs[])() = { clickFaster, NULL };
extern void cancelClicking();
@ -181,45 +182,49 @@ void changeMode() {
lcd.setBacklight(modeColors[currMode]);
}
void updateLCD(char* msg) {
void flashLCD(char* msg) {
lcd.setCursor(0, 1);
lcd.print(msg);
lcdLastSet = millis();
}
void updateLCD(char* msg) {
lcd.setCursor(0, 1);
lcd.print(msg);
lcdLastSet = 0;
}
void clearLCD() {
lcd.setCursor(0, 1);
lcd.print(" ");
lcdLastSet = 0;
}
// mode functions
void clickActivate() {
doClicking = !doClicking;
lcd.setCursor(0, 1);
if (doClicking) {
lcd.print("Start clicking ");
} else {
lcd.print("Stop clicking ");
}
lcd.setBacklight(WHITE);
lcdLastSet = millis();
if (doClicking) {
flashLCD("Start clicking ");
} else {
flashLCD("Stop clicking ");
}
}
void clickSlower() {
if (clickDelay < 1000) {
clickDelay += delayChange;
}
lcd.setCursor(0, 1);
lcd.print("Slower ");
lcdLastSet = millis();
flashLCD("Slower ");
}
void clickFaster() {
// speed up clicking
if (clickDelay > 50) {
clickDelay -= delayChange;
}
lcd.setCursor(0, 1);
lcd.print("Faster ");
lcdLastSet = millis();
flashLCD("Faster ");
}
void cancelClicking() {
@ -234,16 +239,25 @@ void walkForward() {
walk('w', "Forward ");
} else {
cancelWalking();
updateLCD("Stop ");
clearLCD();
}
}
void walkBackward() {
if (!doWalking) {
walk('s', "Backwards ");
walk('s', "Backward ");
} else {
cancelWalking();
updateLCD("Stop ");
clearLCD();
}
}
void holdShift() {
if (!doWalking) {
walk(KEY_LEFT_SHIFT, "Shift ");
} else {
cancelWalking();
clearLCD();
}
}