Use MatLab to move and click mouse, to press keyboard

1 min read

We have an interesting challenge in one of our projects. In our neuroimaging experiment, we need the participant to play a computer game while his brain is scanned (using a NIRS device ETG 4000 in this case). As you can imagine, we need to start the computer game and brain data collection at the same time to make sure the behavior data and neuroimaging data are synchronized. What we usually do is to write some code to start ETG 4000 programmaticly inside the game program; but we can not do it this time because this computer game is developed by others and we can’t inject code into it.

What we want to achieve, simply put, is to click the “Go” button of the game at the same time when we start ETG 4000.

Fortunately there is a solution. We can write a MatLab program to simulate mouse movement and click. Below is the matlab code which will automatically move the mouse to point (640,640) and click it after 5s. If your computer game program requires keyboard input, the code below also contains a snippet for that.

import java.awt.Robot;
import java.awt.event.*;
robot = Robot;

% 5s later, move the mouse to point (640,640) where the 'go' button is,
% then click it.
pause(5);
robot.mouseMove(640, 640);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
% fill in the code to start ETG 4000 here

% 5s later, press key SHIFT and W at the same time
%pause(5);
robot.keyPress(java.awt.event.KeyEvent.VK_SHIFT)
robot.keyPress(java.awt.event.KeyEvent.VK_W)
robot.keyRelease(java.awt.event.KeyEvent.VK_W)
robot.keyRelease(java.awt.event.KeyEvent.VK_SHIFT)

As you can see in the following short screen shot, after we run the matlab program (called testmouse), 5s later the mouse moves to (640,640) and clicks, then key SHIFT+W is pressed.

Refer: http://www.mathworks.com/matlabcentral/answers/100545



写作助手,把中式英语变成专业英文


Want to receive new post notification? 有新文章通知我

第六十一期fNIRS Journal Club视频 冯小丹

Youtube: https://youtu.be/eyC7K9lxz1s 优酷:https://v.youku.com/video?vid=XNjQ3NDc1MTUwOA%3D%3D 无论是对人类个
Wanling Zhu
15 sec read

第六十一期fNIRS Journal Club通知2025/4/12, 10am 冯小丹

该文章的声音简介(中文版): 该文章的声音简介(英文版): 无论是对人类个体的认知能力发展还是对整个社会的文明演进来说,课堂教学都发挥着不可替代的独特作用。正如著名教育思想家夸美纽斯 (John Am
Wanling Zhu
10 sec read

第六十期fNIRS Journal Club视频 邹立业教授团队

Youtube: https://youtu.be/8NG3pwUF9sM 优酷:https://v.youku.com/video?vid=XNjQ2ODE3NzA4NA%3D%3D 长时间久坐行为
Wanling Zhu
19 sec read

3 Replies to “Use MatLab to move and click mouse, to press…”

  1. Thank you very much for this code. It was exactly what I needed – to run the EEG recording software with GetSecs in order to sync the experiment with the EEG acquisition without trigger. ( although it is sub-optimal it is good enough for my purposes). Thank you

Leave a Reply

Your email address will not be published. Required fields are marked *