I am using Leonardo board for Keyboard and Mouse simulation. Counld you please tell me how can I simulate Print screen button from Leonardo. I checked with list of midifier keys. But I didnt find any key for Print screen.
Could you please tell me Key, Hexadecimal and Decimal value for Print screen key for Leonardo.
In Windows, the virtual key scancode for the Print key is 0x2A. (I have no idea how you'd make use of that within Arduino emulating an HID, but I suppose it's generating scancodes somehow.)
Actually I want to use Prnt screen to take snapshot of application software after few actions done by Keyboard and mouse libraries. So after series of test operation, screenshot will be used for verification point. But while using Leonardo Keyboard libraries, I didnt find how to press and release Prit screen Key.
Could you please tell me how can I use Pring Screen scan code Ox2A (as mentioned above by PeterH) while using Leonardo Keyboard libraries?? How can I send parameter in Keyboard.press() and Keyboard.release() for Print screen button.
hi Nick, I tried with 0x46 by Keyboard.press(70) and Keyboard.releaseAll() but it doesnt work. Any other USB code for Print Screen button that would make it?
Is this limitation of Leonardo Keyboard libraries? Or can we create external libraries to do Print Screen press-release operation?
Where I need to implement Print screen to validate the operation.
/*
Code is to test one module of S/w application. Here if char '1' is received from Serial1 of Leonardo,
then by using Keyboard library it will press Alt+f and then 'o' button to open the window.
As window is open. Test need to validate the open window by taking screen shot of window.
To take screen shot of window, print screen button need to press and release.
*/
void setup() { // initialize
Serial1.begin(9600);
Serial.begin(9600);
while (! Serial1);
while (! Serial);
Mouse.begin();
Keyboard.begin();
}
void loop() {
if (Serial1.available() > 0) {
char inChar = Serial1.read();
switch (inChar) {
case '1':
delay(1000);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.press('f');
delay(100);
Keyboard.releaseAll();
delay(100);
Keyboard.press('o');
delay(100);
Keyboard.releaseAll();
delay(500);
//Here I want to do validation for open window. I need to take screen shot of open window by KeyBoard library.
//If print screen would be implemented then code would be as below:
// Keyboard.press(KEY_PRNT_SCRN); //Yet Did not find modifier key for Print screen.
// delay(100);
// Keyboard.releaseAll();
// //open microsoft paint to store screen shot
// Keyboard.press(KEY_LEFT_GUI) //window key
// Keyboard.press('r')
// delay(100);
// Keyboard.releaseAll();
//
// Keyboard.print("mspaint");
// delay(100);
// Keyboard.press(KEY_RETURN)
// delay(100);
// Keyboard.releaseAll();
// //Then Paste the screen shot by Cntrl+V and save the image.
break;
default:
Serial.print("Default Case");
} //switch end
} //if end
}//void loop End
I put line of code to define the purpose of print screen. If I verify code, it throws compile error as "error: 'KEY_PRNT_SCRN' was not declared in this scope"
Here is code: Please try to compile the below code:
void setup() { // initialize
Serial1.begin(9600);
Serial.begin(9600);
while (! Serial1);
while (! Serial);
Mouse.begin();
Keyboard.begin();
}
void loop() {
if (Serial1.available() > 0) {
char inChar = Serial1.read();
switch (inChar) {
case '1':
delay(1000);
Keyboard.press(KEY_LEFT_ALT);
delay(100);
Keyboard.press('f');
delay(100);
Keyboard.releaseAll();
delay(100);
Keyboard.press('o');
delay(100);
Keyboard.releaseAll();
delay(500);
//Here I want to do validation for open window. I need to take screen shot of open window by KeyBoard library.
//If print screen would be implemented then code would be as below:
Keyboard.press(KEY_PRNT_SCRN); //Yet Did not find modifier key for Print screen.
delay(100);
Keyboard.releaseAll();
//open microsoft paint to store screen shot
Keyboard.press(KEY_LEFT_GUI) //window key
Keyboard.press('r')
delay(100);
Keyboard.releaseAll();
Keyboard.print("mspaint");
delay(100);
Keyboard.press(KEY_RETURN)
delay(100);
Keyboard.releaseAll();
//Then Paste the screen shot by Cntrl+V and save the image.
break;
default:
Serial.print("Default Case");
} //switch end
} //if end
}//void loop End