Skip to content

Instantly share code, notes, and snippets.

@davidsaccavino
Last active November 7, 2022 13:07
Show Gist options
  • Save davidsaccavino/356c95c21c12253e5c60dd0bad57bcf8 to your computer and use it in GitHub Desktop.
Save davidsaccavino/356c95c21c12253e5c60dd0bad57bcf8 to your computer and use it in GitHub Desktop.
// Author: David Saccavino
// Version: 1.0
// Last Updated: 9/16/20
/*
*
* THIS WILL NEED TO BE UPDATED
* AS CHROMEBOOK MENUS CHANGE.
*
*/
/*
* <> IMPORTANT: <>
*
* (not necessary but *highly* recommended)
*
* To achieve optimal performance for the step
* involving the email, you should use different
* emails for each digispark. You will run into
* trouble during the Enrollment process otherwise.
*
* Example:
*
* example-enroll2@enrollment.org
* example-enroll3@enrollment.org
* example-enroll4@enrollment.org
* ...
* ...
* ect.
*
*/
#include "DigiKeyboard.h"
#define KEY_DOWN_ARROW 0x51
bool loopCatch = false;
void setup() {}
void loop() {
if(loopCatch == false){
// Open Wifi Settings
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT | MOD_SHIFT_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(10000);
// Wifi Credentials
DigiKeyboard.print({SSID}); // REPLACE WITH SSID
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_DOWN_ARROW);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_DOWN_ARROW);
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.print({WIFI-PASSWORD}); // REPLACE WITH CREDENTIALS
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(10000);
// Update Chromebook
DigiKeyboard.delay(10000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.write('\t');
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(10000);
// Enrollment
DigiKeyboard.delay(10000);
DigiKeyboard.sendKeyStroke(KEY_E, MOD_ALT_LEFT | MOD_CONTROL_LEFT);
DigiKeyboard.delay(15000);
DigiKeyboard.print({EMAIL-FOR-ENROLLMENT}); // REPLACE WITH EMAIL USED FOR ENROLLMENT
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(5000);
DigiKeyboard.print({ENTER-PASSWORD-FOR-EMAIL}); // REPLACE WITH CREDENTIALS
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(20000);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
loopCatch = true;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment