Arduino/KBTroll/KBTroll.ino

62 lines
1.8 KiB
C++

#include "DigiKeyboard.h"
#include <EEPROM.h>
//https://github.com/digistump/DigisparkArduinoIntegration/blob/master/libraries/DigisparkKeyboard/DigiKeyboard.h
//Boardmanager URL: http://digistump.com/package_digistump_index.json
//#define LED_BUILTIN 1
#define address 0
struct SK {
public:
char mod = 0;
char key = 0;
SK(char a, char b) : mod(a), key(b) {}
SK() {}
};
const int arr_size = 14;
const SK strokes[] = {
{0, 0}, //ESC
{MOD_CONTROL_LEFT, KEY_T}, //NEW TAB
{0, KEY_ENTER}, //ENTER
//{MOD_SHIFT_LEFT, KEY_TABULATOR}, //SHIFT TABULATOR
{MOD_CONTROL_LEFT | MOD_ALT_LEFT, KEY_ARROW_LEFT}, //ROTATE SCREEN
{0, KEY_F1}, // OPEN HELP
{MOD_GUI_LEFT, 0x52}, //CLIP WINDOW RIGHT
{MOD_GUI_LEFT, KEY_2}, //OPEN TASK PROGRAM 2
//{0, KEY_TABULATOR}, //TABULATOR
{MOD_GUI_LEFT, KEY_L}, //LOG OUT
{MOD_GUI_LEFT, KEY_M}, //MINIMIZE ALL
//{MOD_CONTROL_LEFT | MOD_ALT_LEFT, KEY_DELTE}, //OPEN TASK MANAGER
{MOD_CONTROL_LEFT, KEY_W}, //CLOSE TAB
{MOD_GUI_LEFT, KEY_ARROW_LEFT}, //CLIP WINDOW LEFT
{MOD_CONTROL_LEFT | MOD_SHIFT_LEFT, KEY_T}, // RESTORE TAB
{MOD_GUI_LEFT, KEY_D}, //SHOW DESKTOP
{MOD_GUI_LEFT, KEY_1}, //OPEN TASK PROGRAM 1
//{0, KEY_CAPS}, // CPAS
//{0, KEY_NUM_LOCK} //NUMLOCK
};
void setup() {
randomSeed(EEPROM.read(address));
}
void randSK() {
SK stroke;
static int r = 0;
if(r++ == arr_size) {
stroke = {0, random(4, 40)};//random char
r = 0;
} else {
stroke = strokes[r];
}
DigiKeyboard.sendKeyStroke(stroke.key, stroke.mod);
}
void loop() {
randSK();
EEPROM.write(address, random(256));
DigiKeyboard.delay(random(7, 18) * 60000);//RANDOM Delay
}