How to Simulate keyboard key inputs?

61 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2011-4-11
Java Robot class.
  7 个评论
Walter Roberson
Walter Roberson 2012-9-9
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? "

请先登录,再进行评论。

更多回答(5 个)

Garrett Cassidy
Garrett Cassidy 2019-8-14
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 2011-4-11
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 个评论
Jan
Jan 2011-4-11
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...

请先登录,再进行评论。


ali
ali 2011-11-30
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
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 2014-12-19
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 ?

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by