How to Simulate keyboard key inputs?

I am interested in simulating a keyboard input using .m code.
How would I go about simulating typing and other keyboard inputs?
Similar to this, but with the keyboard instead of the mouse.
Thanks,
Kevin

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 11 Apr. 2011

1 Stimme

Java Robot class.

7 Kommentare

Paulo Silva
Paulo Silva am 11 Apr. 2011
%Example
import java.awt.Robot;
import java.awt.event.*;
SimKey=Robot;
SimKey.keyPress(KeyEvent.VK_P);
Matt Fig
Matt Fig am 11 Apr. 2011
I like this example better:
import java.awt.Robot;
import java.awt.event.*;
SimKey=Robot;
SimKey.keyPress(KeyEvent.VK_W);
SimKey.keyPress(KeyEvent.VK_H);
SimKey.keyPress(KeyEvent.VK_Y);
SimKey.keyPress(KeyEvent.VK_ENTER);
Paulo Silva
Paulo Silva am 11 Apr. 2011
import java.awt.Robot;
import java.awt.event.*;
SimKey=Robot;
SimKey.keyPress(KeyEvent.VK_S);
SimKey.keyPress(KeyEvent.VK_P);
SimKey.keyPress(KeyEvent.VK_Y);
SimKey.keyPress(KeyEvent.VK_ENTER);
Paulo Silva
Paulo Silva am 11 Apr. 2011
execute my code and Matt code on the command line of matlab (not in a script) :)
Walter Roberson
Walter Roberson am 11 Apr. 2011
In theory shouldn't you also be sending virtual key release events?
Walter Roberson
Walter Roberson am 9 Sep. 2012
ying xing FENG commented "It works for text. But not for other active windows other than Matlab. For eg. on screen key borad. Any idea? "

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (5)

Garrett Cassidy
Garrett Cassidy am 14 Aug. 2019

1 Stimme

Does anyone know how to emulate a ; or a \ ? I can emulate keystrokes, but the ‘VK_OEM_1´input to keyPress is undefined.
Thanks
Kevin
Kevin am 11 Apr. 2011

0 Stimmen

Haha, nice.
Why does SimKey.keyPress(KeyEvent.VK_w); now work for undercase w? Is there a full list of keyboard inputs I can reference?
What is "VK" referencing to?

2 Kommentare

Paulo Silva
Paulo Silva am 11 Apr. 2011
Bearbeitet: dpb am 5 Jul. 2020
Jan
Jan am 11 Apr. 2011
KeyEvent.VK_W is the [W] key - there is no upper or lower case *key*! You need the [Shift] key to create uppercase characters:
robot.keyPress(java.awt.event.KeyEvent.VK_SHIFT)
robot.keyPress(java.awt.event.KeyEvent.VK_W)
robot.keyRelase(java.awt.event.KeyEvent.VK_W)
robot.keyRelease(java.awt.event.KeyEvent.VK_SHIFT)
Remember: It is only a robot and it s(t)imulates the keyboard...

Melden Sie sich an, um zu kommentieren.

ali
ali am 30 Nov. 2011

0 Stimmen

Hi Paulo,
regarding"execute my code and Matt code on the command line of matlab (not in a script) :)"
I am going to kill an running script through simulating Ctrl+C which is written as a function like this:
import java.awt.Robot; import java.awt.event.*; SimKey=Robot; SimKey.keyPress(java.awt.event.KeyEvent.VK_CONTROL); SimKey.keyPress(java.awt.event.KeyEvent.VK_C); SimKey.keyRelease(java.awt.event.KeyEvent.VK_CONTROL);
how can I call it? when I call this function it does not work? Thanks, Ali
Amirhosein Ghenaati
Amirhosein Ghenaati am 5 Dez. 2014

0 Stimmen

hello i want to execute kmplayer then first launch kmplayer then use java robot to push space it will open media folder. my program stop when kmp starts and and when i terminates kmp space chracter will be printed in editor. here is my simple program and i dont know whats problem please help me in this situation
import java.awt.Robot
import java.awt.event.*
keys = Robot;
keys.setAutoDelay(1000)
[status currdir] = system('cd C:\Users\IranZamin\Documents\MATLAB\temporary');
[status result] = system('KMPlayer.lnk');
keys.keyPress(java.awt.event.KeyEvent.VK_SPACE )
keys.keyRelease(java.awt.event.KeyEvent.VK_SPACE )
keys.waitForIdle
Amirhosein Ghenaati
Amirhosein Ghenaati am 19 Dez. 2014

0 Stimmen

i tried to make exe version of key pressing with robot class but my exe file doesn't work and i dont know what i couldnt find relative .jar file for java robot class whats its name ?

Kategorien

Mehr zu Convert Image Type finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 11 Apr. 2011

Bearbeitet:

dpb
am 5 Jul. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by