find_keyboard_shortcut


TinyUSB Mouse and Keyboard

TinyUSB_Mouse_and_Keyboard library

Mouse Functions

Mouse.click(MOUSE_LEFT);    //do LEFT click
Mouse.click();              //do LEFT click by default
Mouse.click(MOUSE_RIGHT);   //do RIGHT click
Mouse.click(MOUSE_MIDDLE);  //do MIDDLE click

Mouse.move(50,0);   //movie in all four directions
Mouse.move(0,50);
Mouse.move(-50,0);
Mouse.move(0,-50);

Mouse.move(0,0,-5); //scroll down and up
Mouse.move(0,0,5);  //move(x, y, wheel)

Mouse.press(MOUSE_LEFT);    //hold the left button
Mouse.move(50,0,0);         //drag
Mouse.release(MOUSE_LEFT);  //release the button

Mouse.click(MOUSE_RIGHT);   //try a right click
Mouse.move(-30,-30);        //move away from the right-click menu that popped up
Mouse.click(MOUSE_LEFT);    //do a left click to clear the pop-up

Status();                 //print the buttons status
Mouse.press(MOUSE_LEFT);  //press each button, print status, then release all
Mouse.press(MOUSE_RIGHT);
Mouse.press(MOUSE_MIDDLE);
Status();
Mouse.release(MOUSE_ALL);

Keyboard Functions

Keyboard.write('a');            //press and release 'a' key

uint8_t Multiple[3]= {'1','2','3'};
Keyboard.write(Multiple,3);     //multiple keys sequentially from a buffer

Keyboard.print("456");          //print a string
Keyboard.println("789");        //print another string with a line

Keyboard.press(KEY_LEFT_SHIFT);           //hold down the shift
Keyboard.println("a uppercase sentence"); //this will be all caps
Keyboard.release(KEY_LEFT_SHIFT);         //release the shift
Keyboard.println ("back to lowercase");

Keyboard.press(KEY_LEFT_SHIFT); //press shift
Keyboard.println("1234");       //some text
Keyboard.releaseAll();          //release all

Keyboard.println("1234");     //not shifted
Keyboard.print("A mistake");  //will attempt to erase this
delay(1000);

Keyboard.press(KEY_LEFT_CTRL);  //will attempt control-z
Keyboard.write('z');
Keyboard.releaseAll();         //release the control key

Keyboard codes

macOS
- command key: KEY_LEFT_GUI
- control key:  KEY_LEFT_CTRL

Windows and Linux
- Windows key:  KEY_LEFT_GUI
- Control key:  KEY_LEFT_CTRL


// use this option for macOS
char ctrlKey = KEY_LEFT_GUI;
// use this option for Windows and Linux
//char ctrlKey = KEY_LEFT_CTRL;
Keyboard.press(ctrlKey);
#define KEY_LEFT_CTRL   0x80
#define KEY_LEFT_SHIFT    0x81
#define KEY_LEFT_ALT    0x82
#define KEY_LEFT_GUI    0x83
#define KEY_RIGHT_CTRL    0x84
#define KEY_RIGHT_SHIFT   0x85
#define KEY_RIGHT_ALT   0x86
#define KEY_RIGHT_GUI   0x87

#define KEY_UP_ARROW    0xDA
#define KEY_DOWN_ARROW    0xD9
#define KEY_LEFT_ARROW    0xD8
#define KEY_RIGHT_ARROW   0xD7
#define KEY_BACKSPACE   0xB2
#define KEY_TAB       0xB3
#define KEY_RETURN      0xB0
#define KEY_ESC       0xB1
#define KEY_INSERT      0xD1
#define KEY_DELETE      0xD4
#define KEY_PAGE_UP     0xD3
#define KEY_PAGE_DOWN   0xD6
#define KEY_HOME      0xD2
#define KEY_END       0xD5
#define KEY_CAPS_LOCK   0xC1
#define KEY_F1        0xC2
#define KEY_F2        0xC3
#define KEY_F3        0xC4
#define KEY_F4        0xC5
#define KEY_F5        0xC6
#define KEY_F6        0xC7
#define KEY_F7        0xC8
#define KEY_F8        0xC9
#define KEY_F9        0xCA
#define KEY_F10       0xCB
#define KEY_F11       0xCC
#define KEY_F12       0xCD
#define KEY_F13       0xF0
#define KEY_F14       0xF1
#define KEY_F15       0xF2
#define KEY_F16       0xF3
#define KEY_F17       0xF4
#define KEY_F18       0xF5
#define KEY_F19       0xF6
#define KEY_F20       0xF7
#define KEY_F21       0xF8
#define KEY_F22       0xF9
#define KEY_F23       0xFA
#define KEY_F24       0xFB