com.tulskiy.keymaster.osx.KeyMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sikulixapi Show documentation
Show all versions of sikulixapi Show documentation
... for visual testing and automation
/*
* Copyright (c) 2010-2019, sikuli.org, sikulix.com - MIT license
*/
package com.tulskiy.keymaster.osx;
import javax.swing.*;
import java.awt.event.InputEvent;
import java.util.HashMap;
import java.util.Map;
import static com.tulskiy.keymaster.osx.Carbon.*;
import static java.awt.event.KeyEvent.*;
/**
* Author: Denis Tulskiy
* Date: 6/17/11
*/
public class KeyMap {
private static Map codes = new HashMap() {{
put(VK_BACK_QUOTE, 50);
put(VK_1, 18);
put(VK_2, 19);
put(VK_3, 20);
put(VK_4, 21);
put(VK_5, 23);
put(VK_6, 22);
put(VK_7, 26);
put(VK_8, 28);
put(VK_9, 25);
put(VK_0, 29);
put(VK_MINUS, 27);
put(VK_UNDERSCORE, 27);
put(VK_PLUS, 24);
put(VK_EQUALS, 24);
put(VK_BACK_SPACE, 51);
put(VK_TAB, 48);
put(VK_Q, 12);
put(VK_W, 13);
put(VK_E, 14);
put(VK_R, 15);
put(VK_T, 17);
put(VK_Y, 16);
put(VK_U, 32);
put(VK_I, 34);
put(VK_O, 31);
put(VK_P, 35);
put(VK_BRACELEFT, 33);
put(VK_BRACERIGHT, 30);
put(VK_BACK_SLASH, 42);
put(VK_A, 0);
put(VK_S, 1);
put(VK_D, 2);
put(VK_F, 3);
put(VK_G, 5);
put(VK_H, 4);
put(VK_J, 38);
put(VK_K, 40);
put(VK_L, 37);
put(VK_COLON, 41);
put(VK_SEMICOLON, 41);
put(VK_QUOTE, 39);
put(VK_ENTER, 36);
put(VK_Z, 6);
put(VK_X, 7);
put(VK_C, 8);
put(VK_V, 9);
put(VK_B, 11);
put(VK_N, 45);
put(VK_M, 46);
put(VK_COMMA, 43);
put(VK_PERIOD, 47);
put(VK_SLASH, 44);
put(VK_SPACE, 49);
put(VK_F1, 122);
put(VK_F2, 120);
put(VK_F3, 99);
put(VK_F4, 118);
put(VK_F5, 96);
put(VK_F6, 97);
put(VK_F7, 98);
put(VK_F8, 100);
put(VK_F9, 101);
put(VK_F10, 109);
put(VK_F11, 103);
put(VK_F12, 111);
put(VK_ESCAPE, 53);
put(VK_INSERT, 114);
put(VK_HELP, 114);
put(VK_HOME, 115);
put(VK_PAGE_UP, 116);
put(VK_DELETE, 117);
put(VK_END, 119);
put(VK_PAGE_DOWN, 121);
put(VK_UP, 126);
put(VK_DOWN, 125);
put(VK_LEFT, 123);
put(VK_RIGHT, 124);
put(VK_EQUALS, 81);
put(VK_DIVIDE, 75);
put(VK_MULTIPLY, 67);
put(VK_SUBTRACT, 78);
put(VK_ADD, 69);
put(VK_SUBTRACT, 78);
put(VK_NUMPAD0, 82);
put(VK_NUMPAD1, 83);
put(VK_NUMPAD2, 84);
put(VK_NUMPAD3, 85);
put(VK_NUMPAD4, 86);
put(VK_NUMPAD5, 87);
put(VK_NUMPAD6, 88);
put(VK_NUMPAD7, 89);
put(VK_NUMPAD8, 91);
put(VK_NUMPAD9, 92);
put(VK_DECIMAL, 65);
}};
public static int getKeyCode(KeyStroke keyStroke) {
Integer ret = codes.get(keyStroke.getKeyCode());
if (ret != null)
return ret;
else
return -1;
}
public static int getModifier(KeyStroke keyStroke) {
int modifiers = 0;
if ((keyStroke.getModifiers() & InputEvent.SHIFT_DOWN_MASK) != 0) {
modifiers |= shiftKey;
}
if ((keyStroke.getModifiers() & InputEvent.CTRL_DOWN_MASK) != 0) {
modifiers |= controlKey;
}
if ((keyStroke.getModifiers() & InputEvent.META_DOWN_MASK) != 0) {
modifiers |= cmdKey;
}
if ((keyStroke.getModifiers() & InputEvent.ALT_DOWN_MASK) != 0) {
modifiers |= optionKey;
}
return modifiers;
}
}