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



文献鸟 618 活动


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


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

第六十三期fNIRS Journal Club视频 张百强

Youtube: https://youtu.be/vBsdcx08ZV4 优酷:https://v.youku.com/video?vid=XNjQ4NTcxNjM4MA%3D%3D fNIRS信号
Wanling Zhu
13 sec read

第六十三期fNIRS Journal Club通知2025/6/14, 10am 张百强

该文章的声音简介(中文版): 该文章的声音简介(英文版): fNIRS信号容易受到头动伪影、接触不良以及生理噪声等影响,导致测量信号信噪比低和数据浪费。来自北京师范大学牛海晶课题组的张百强同学将分享一
Wanling Zhu
9 sec read

第六十二期fNIRS Journal Club视频 李杨卓博士

Youtube: https://youtu.be/RN0mUjUe99A 优酷:https://v.youku.com/video?vid=XNjQ3MzIyMTA1Ng== 说服是促进信息传播、人
Wanling Zhu
9 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 to rani Cancel reply

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