Skip to content

Instantly share code, notes, and snippets.

@tiborsimon
Last active September 24, 2018 05:59
Show Gist options
  • Save tiborsimon/1bd50d9b83a720e55bdf to your computer and use it in GitHub Desktop.
Save tiborsimon/1bd50d9b83a720e55bdf to your computer and use it in GitHub Desktop.
Matlab string to keypresses function
% Based on the thread: http://stackoverflow.com/questions/32710709/prepare-command-in-matlab/32721523?noredirect=1#comment53292353_32721523
function type_command(command)
commandwindow; %// make Matlab command window have focus
robot = java.awt.Robot; %/ Java Robot class
for k=1:length(command)
switch command(k)
case 'a'
robot.keyPress (java.awt.event.KeyEvent.VK_A);
robot.keyRelease (java.awt.event.KeyEvent.VK_A);
case 'b'
robot.keyPress (java.awt.event.KeyEvent.VK_B);
robot.keyRelease (java.awt.event.KeyEvent.VK_B);
case 'c'
robot.keyPress (java.awt.event.KeyEvent.VK_C);
robot.keyRelease (java.awt.event.KeyEvent.VK_C);
case 'd'
robot.keyPress (java.awt.event.KeyEvent.VK_D);
robot.keyRelease (java.awt.event.KeyEvent.VK_D);
case 'e'
robot.keyPress (java.awt.event.KeyEvent.VK_E);
robot.keyRelease (java.awt.event.KeyEvent.VK_E);
case 'f'
robot.keyPress (java.awt.event.KeyEvent.VK_F);
robot.keyRelease (java.awt.event.KeyEvent.VK_F);
case 'g'
robot.keyPress (java.awt.event.KeyEvent.VK_G);
robot.keyRelease (java.awt.event.KeyEvent.VK_G);
case 'h'
robot.keyPress (java.awt.event.KeyEvent.VK_H);
robot.keyRelease (java.awt.event.KeyEvent.VK_H);
case 'i'
robot.keyPress (java.awt.event.KeyEvent.VK_I);
robot.keyRelease (java.awt.event.KeyEvent.VK_I);
case 'j'
robot.keyPress (java.awt.event.KeyEvent.VK_J);
robot.keyRelease (java.awt.event.KeyEvent.VK_J);
case 'k'
robot.keyPress (java.awt.event.KeyEvent.VK_K);
robot.keyRelease (java.awt.event.KeyEvent.VK_K);
case 'l'
robot.keyPress (java.awt.event.KeyEvent.VK_L);
robot.keyRelease (java.awt.event.KeyEvent.VK_L);
case 'm'
robot.keyPress (java.awt.event.KeyEvent.VK_M);
robot.keyRelease (java.awt.event.KeyEvent.VK_M);
case 'n'
robot.keyPress (java.awt.event.KeyEvent.VK_N);
robot.keyRelease (java.awt.event.KeyEvent.VK_N);
case 'o'
robot.keyPress (java.awt.event.KeyEvent.VK_O);
robot.keyRelease (java.awt.event.KeyEvent.VK_O);
case 'p'
robot.keyPress (java.awt.event.KeyEvent.VK_P);
robot.keyRelease (java.awt.event.KeyEvent.VK_P);
case 'q'
robot.keyPress (java.awt.event.KeyEvent.VK_Q);
robot.keyRelease (java.awt.event.KeyEvent.VK_Q);
case 'r'
robot.keyPress (java.awt.event.KeyEvent.VK_R);
robot.keyRelease (java.awt.event.KeyEvent.VK_R);
case 's'
robot.keyPress (java.awt.event.KeyEvent.VK_S);
robot.keyRelease (java.awt.event.KeyEvent.VK_S);
case 't'
robot.keyPress (java.awt.event.KeyEvent.VK_T);
robot.keyRelease (java.awt.event.KeyEvent.VK_T);
case 'u'
robot.keyPress (java.awt.event.KeyEvent.VK_U);
robot.keyRelease (java.awt.event.KeyEvent.VK_U);
case 'v'
robot.keyPress (java.awt.event.KeyEvent.VK_V);
robot.keyRelease (java.awt.event.KeyEvent.VK_V);
case 'w'
robot.keyPress (java.awt.event.KeyEvent.VK_W);
robot.keyRelease (java.awt.event.KeyEvent.VK_W);
case 'x'
robot.keyPress (java.awt.event.KeyEvent.VK_X);
robot.keyRelease (java.awt.event.KeyEvent.VK_X);
case 'y'
robot.keyPress (java.awt.event.KeyEvent.VK_Y);
robot.keyRelease (java.awt.event.KeyEvent.VK_Y);
case 'z'
robot.keyPress (java.awt.event.KeyEvent.VK_Z);
robot.keyRelease (java.awt.event.KeyEvent.VK_Z);
case 'A'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_A);
robot.keyRelease (java.awt.event.KeyEvent.VK_A);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'B'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_B);
robot.keyRelease (java.awt.event.KeyEvent.VK_B);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'C'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_C);
robot.keyRelease (java.awt.event.KeyEvent.VK_C);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'D'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_D);
robot.keyRelease (java.awt.event.KeyEvent.VK_D);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'E'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_E);
robot.keyRelease (java.awt.event.KeyEvent.VK_E);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'F'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_F);
robot.keyRelease (java.awt.event.KeyEvent.VK_F);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'G'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_G);
robot.keyRelease (java.awt.event.KeyEvent.VK_G);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'H'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_H);
robot.keyRelease (java.awt.event.KeyEvent.VK_H);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'I'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_I);
robot.keyRelease (java.awt.event.KeyEvent.VK_I);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'J'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_J);
robot.keyRelease (java.awt.event.KeyEvent.VK_J);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'K'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_K);
robot.keyRelease (java.awt.event.KeyEvent.VK_K);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'L'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_L);
robot.keyRelease (java.awt.event.KeyEvent.VK_L);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'M'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_M);
robot.keyRelease (java.awt.event.KeyEvent.VK_M);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'N'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_N);
robot.keyRelease (java.awt.event.KeyEvent.VK_N);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'O'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_O);
robot.keyRelease (java.awt.event.KeyEvent.VK_O);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'P'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_P);
robot.keyRelease (java.awt.event.KeyEvent.VK_P);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'Q'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_Q);
robot.keyRelease (java.awt.event.KeyEvent.VK_Q);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'R'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_R);
robot.keyRelease (java.awt.event.KeyEvent.VK_R);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'S'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_S);
robot.keyRelease (java.awt.event.KeyEvent.VK_S);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'T'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_T);
robot.keyRelease (java.awt.event.KeyEvent.VK_T);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'U'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_U);
robot.keyRelease (java.awt.event.KeyEvent.VK_U);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'V'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_V);
robot.keyRelease (java.awt.event.KeyEvent.VK_V);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'W'
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);
case 'X'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_X);
robot.keyRelease (java.awt.event.KeyEvent.VK_X);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'Y'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_Y);
robot.keyRelease (java.awt.event.KeyEvent.VK_Y);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case 'Z'
robot.keyPress (java.awt.event.KeyEvent.VK_SHIFT);
robot.keyPress (java.awt.event.KeyEvent.VK_Z);
robot.keyRelease (java.awt.event.KeyEvent.VK_Z);
robot.keyRelease (java.awt.event.KeyEvent.VK_SHIFT);
case '1'
robot.keyPress (java.awt.event.KeyEvent.VK_1);
robot.keyRelease (java.awt.event.KeyEvent.VK_1);
case '2'
robot.keyPress (java.awt.event.KeyEvent.VK_2);
robot.keyRelease (java.awt.event.KeyEvent.VK_2);
case '3'
robot.keyPress (java.awt.event.KeyEvent.VK_3);
robot.keyRelease (java.awt.event.KeyEvent.VK_3);
case '4'
robot.keyPress (java.awt.event.KeyEvent.VK_4);
robot.keyRelease (java.awt.event.KeyEvent.VK_4);
case '5'
robot.keyPress (java.awt.event.KeyEvent.VK_5);
robot.keyRelease (java.awt.event.KeyEvent.VK_5);
case '6'
robot.keyPress (java.awt.event.KeyEvent.VK_6);
robot.keyRelease (java.awt.event.KeyEvent.VK_6);
case '7'
robot.keyPress (java.awt.event.KeyEvent.VK_7);
robot.keyRelease (java.awt.event.KeyEvent.VK_7);
case '8'
robot.keyPress (java.awt.event.KeyEvent.VK_8);
robot.keyRelease (java.awt.event.KeyEvent.VK_8);
case '9'
robot.keyPress (java.awt.event.KeyEvent.VK_9);
robot.keyRelease (java.awt.event.KeyEvent.VK_9);
case '0'
robot.keyPress (java.awt.event.KeyEvent.VK_0);
robot.keyRelease (java.awt.event.KeyEvent.VK_0);
case ' '
robot.keyPress (java.awt.event.KeyEvent.VK_SPACE);
robot.keyRelease (java.awt.event.KeyEvent.VK_SPACE);
case '['
robot.keyPress (java.awt.event.KeyEvent.VK_OPEN_BRACKET);
robot.keyRelease (java.awt.event.KeyEvent.VK_OPEN_BRACKET);
case ']'
robot.keyPress (java.awt.event.KeyEvent.VK_CLOSE_BRACKET);
robot.keyRelease (java.awt.event.KeyEvent.VK_CLOSE_BRACKET);
case '('
robot.keyPress (java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS);
robot.keyRelease (java.awt.event.KeyEvent.VK_LEFT_PARENTHESIS);
case ')'
robot.keyPress (java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS);
robot.keyRelease (java.awt.event.KeyEvent.VK_RIGHT_PARENTHESIS);
otherwise
error('Unsupported character!')
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment