very valid point. Heres your version plus my version and a jumper across pins 1 and 3 decides the OS:
//Wallpaper Prank, modified by DW for use on the digispark
#include "DigiKeyboard.h"
#include <EEPROM.h>
int a = 0;
int value;
int mac = 0;
void setup() {
pinMode(0, OUTPUT);
pinMode(2, INPUT);
digitalWrite(0,HIGH);
value = EEPROM.read(a);
value = value + 1;
if (value > 100)
value = 0;
EEPROM.write(a, value);
}
void loop() {
mac = digitalRead(2);
if (mac == HIGH) {
DigiKeyboard.update();
// take screenshot in to clipboard
DigiKeyboard.sendKeyStroke(KEY_3, MOD_GUI_LEFT | MOD_CONTROL_LEFT | MOD_SHIFT_LEFT);
DigiKeyboard.delay(100); // 0.1s delay
DigiKeyboard.sendKeyStroke(KEY_SPACE, MOD_GUI_LEFT);
DigiKeyboard.delay(250);
DigiKeyboard.println("Desktop & Screen Saver");
DigiKeyboard.delay(2000);
DigiKeyboard.print("\t"); // tab in to picture hole
DigiKeyboard.sendKeyStroke(KEY_V, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_SPACE, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.println("Safari");
DigiKeyboard.delay(4000);
DigiKeyboard.sendKeyStroke(KEY_N, MOD_GUI_LEFT); // new window
DigiKeyboard.sendKeyStroke(KEY_L, MOD_GUI_LEFT); // set focus to address bar
DigiKeyboard.println("http://www.digistump.com/"); //buy a digispark to get me back
digitalWrite(1, HIGH); //turn on led when program finishes
DigiKeyboard.delay(90000);
digitalWrite(1, LOW);
DigiKeyboard.delay(5000);
while(true) { DigiKeyboard.update(); }
}
else{
DigiKeyboard.update();
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(2000);
DigiKeyboard.sendKeyStroke(KEY_M, MOD_GUI_LEFT); //minimize all windows
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_PrintScreen); //printscreen
DigiKeyboard.delay(50);
DigiKeyboard.sendKeyStroke(KEY_F10, MOD_SHIFT_LEFT); //Open Menu
DigiKeyboard.delay(50);
DigiKeyboard.sendKeyStroke(KEY_V);
DigiKeyboard.delay(50);
DigiKeyboard.sendKeyStroke(KEY_D);
DigiKeyboard.delay(50);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); //run
DigiKeyboard.delay(50);
DigiKeyboard.println("mspaint");
DigiKeyboard.delay(1200);
DigiKeyboard.sendKeyStroke(KEY_V, MOD_CONTROL_LEFT); //paste
DigiKeyboard.delay(50);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_CONTROL_LEFT); //save
DigiKeyboard.delay(500);
DigiKeyboard.print("%userprofile%\\"); //save in users folder
DigiKeyboard.print(value); //number saved in eeprom + 1
DigiKeyboard.println(".bmp");
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(KEY_F, MOD_ALT_LEFT); //file
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(KEY_K); //set as desktop
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(KEY_T); //tile
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(KEY_F4, MOD_ALT_LEFT); //close paint
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(KEY_M, MOD_GUI_LEFT | MOD_SHIFT_LEFT); //back to desktop as it was
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT); //run
DigiKeyboard.delay(100);
DigiKeyboard.println("www.digistump.com"); //buy a digispark to get me back
digitalWrite(1, HIGH); //turn on led when program finishes
DigiKeyboard.delay(90000);
digitalWrite(1, LOW);
DigiKeyboard.delay(5000);
}
}
I think it should work.