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