while trying to automate keyPress event in a loop, I get the error: "Unrecognized function or variable 'VK_i'

22 Ansichten (letzte 30 Tage)
I am trying to automate/simualte the keyboard to automatically generate/type numbers using the java robot class and I running into the following error: Unrecognized function or variable 'VK_i'. Could someone help. Here is my code snippet:
clc; clear; close all;
import java.awt.Robot;
import java.awt.event.*;
import java.awt.event.KeyEvent;
keybrd = java.awt.Robot; %Create a keyboard object
for i = 1:3
%num = num2str(i);
key = java.awt.event.KeyEvent.VK_i;
keybrd.keyPress(key);
keybrd.keyRelease(key);
end

Akzeptierte Antwort

Voss
Voss am 8 Aug. 2022
key = java.awt.event.KeyEvent.(sprintf('VK_%d',i));
  2 Kommentare
Syed Bahrez Nadeem
Syed Bahrez Nadeem am 8 Aug. 2022
Thanks! That worked. In a second for loop of the same code, I am trying to generate/type letters and I am running into indexing errors. Could you please help with this?
import java.awt.Robot;
import java.awt.event.*;
import java.awt.event.KeyEvent;
keybrd = java.awt.Robot; %Create a keyboard object
%Iterate over the length of ext. Generate and press a letter key
ext = 'tf';
for i = 1:length(ext)
% inp = strcat('java.awt.event.KeyEvent.VK_',ext(i)); %Ex: 'VK_t'
% key = eval(inp); %Evaluates the concatenated string inp and returns it
%index = num2str(i);
key = java.awt.event.KeyEvent.(sprintf('VK_%d',ext(num2str(i))));
keybrd.keyPress(key);
keybrd.keyRelease(key);
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by