new keyboard intigration
This commit is contained in:
parent
b95e4b73cf
commit
755e7bcb3d
3
META-INF/MANIFEST.MF
Normal file
3
META-INF/MANIFEST.MF
Normal file
@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: PasswordTyper
|
||||
|
@ -19,126 +19,826 @@ public class Keyboard {
|
||||
int length = characters.length();
|
||||
for (int i = 0; i < length; i++) {
|
||||
char character = characters.charAt(i);
|
||||
type(character);
|
||||
System.out.println(character);
|
||||
keyPress(character);
|
||||
}
|
||||
}
|
||||
|
||||
public void type(char character) {
|
||||
switch (character) {
|
||||
case 'a': doType(VK_A); break;
|
||||
case 'b': doType(VK_B); break;
|
||||
case 'c': doType(VK_C); break;
|
||||
case 'd': doType(VK_D); break;
|
||||
case 'e': doType(VK_E); break;
|
||||
case 'f': doType(VK_F); break;
|
||||
case 'g': doType(VK_G); break;
|
||||
case 'h': doType(VK_H); break;
|
||||
case 'i': doType(VK_I); break;
|
||||
case 'j': doType(VK_J); break;
|
||||
case 'k': doType(VK_K); break;
|
||||
case 'l': doType(VK_L); break;
|
||||
case 'm': doType(VK_M); break;
|
||||
case 'n': doType(VK_N); break;
|
||||
case 'o': doType(VK_O); break;
|
||||
case 'p': doType(VK_P); break;
|
||||
case 'q': doType(VK_Q); break;
|
||||
case 'r': doType(VK_R); break;
|
||||
case 's': doType(VK_S); break;
|
||||
case 't': doType(VK_T); break;
|
||||
case 'u': doType(VK_U); break;
|
||||
case 'v': doType(VK_V); break;
|
||||
case 'w': doType(VK_W); break;
|
||||
case 'x': doType(VK_X); break;
|
||||
case 'y': doType(VK_Y); break;
|
||||
case 'z': doType(VK_Z); break;
|
||||
case 'A': doType(VK_SHIFT, VK_A); break;
|
||||
case 'B': doType(VK_SHIFT, VK_B); break;
|
||||
case 'C': doType(VK_SHIFT, VK_C); break;
|
||||
case 'D': doType(VK_SHIFT, VK_D); break;
|
||||
case 'E': doType(VK_SHIFT, VK_E); break;
|
||||
case 'F': doType(VK_SHIFT, VK_F); break;
|
||||
case 'G': doType(VK_SHIFT, VK_G); break;
|
||||
case 'H': doType(VK_SHIFT, VK_H); break;
|
||||
case 'I': doType(VK_SHIFT, VK_I); break;
|
||||
case 'J': doType(VK_SHIFT, VK_J); break;
|
||||
case 'K': doType(VK_SHIFT, VK_K); break;
|
||||
case 'L': doType(VK_SHIFT, VK_L); break;
|
||||
case 'M': doType(VK_SHIFT, VK_M); break;
|
||||
case 'N': doType(VK_SHIFT, VK_N); break;
|
||||
case 'O': doType(VK_SHIFT, VK_O); break;
|
||||
case 'P': doType(VK_SHIFT, VK_P); break;
|
||||
case 'Q': doType(VK_SHIFT, VK_Q); break;
|
||||
case 'R': doType(VK_SHIFT, VK_R); break;
|
||||
case 'S': doType(VK_SHIFT, VK_S); break;
|
||||
case 'T': doType(VK_SHIFT, VK_T); break;
|
||||
case 'U': doType(VK_SHIFT, VK_U); break;
|
||||
case 'V': doType(VK_SHIFT, VK_V); break;
|
||||
case 'W': doType(VK_SHIFT, VK_W); break;
|
||||
case 'X': doType(VK_SHIFT, VK_X); break;
|
||||
case 'Y': doType(VK_SHIFT, VK_Y); break;
|
||||
case 'Z': doType(VK_SHIFT, VK_Z); break;
|
||||
case '`': doType(VK_BACK_QUOTE); break;
|
||||
case '0': doType(VK_0); break;
|
||||
case '1': doType(VK_1); break;
|
||||
case '2': doType(VK_2); break;
|
||||
case '3': doType(VK_3); break;
|
||||
case '4': doType(VK_4); break;
|
||||
case '5': doType(VK_5); break;
|
||||
case '6': doType(VK_6); break;
|
||||
case '7': doType(VK_7); break;
|
||||
case '8': doType(VK_8); break;
|
||||
case '9': doType(VK_9); break;
|
||||
case '-': doType(VK_MINUS); break;
|
||||
case '=': doType(VK_EQUALS); break;
|
||||
case '~': doType(VK_SHIFT, VK_BACK_QUOTE); break;
|
||||
case '!': doType(VK_EXCLAMATION_MARK); break;
|
||||
case '@': doType(VK_AT); break;
|
||||
case '#': doType(VK_NUMBER_SIGN); break;
|
||||
case '$': doType(VK_DOLLAR); break;
|
||||
case '%': doType(VK_SHIFT, VK_5); break;
|
||||
case '^': doType(VK_CIRCUMFLEX); break;
|
||||
case '&': doType(VK_AMPERSAND); break;
|
||||
case '*': doType(VK_ASTERISK); break;
|
||||
case '(': doType(VK_LEFT_PARENTHESIS); break;
|
||||
case ')': doType(VK_RIGHT_PARENTHESIS); break;
|
||||
case '_': doType(VK_UNDERSCORE); break;
|
||||
case '+': doType(VK_PLUS); break;
|
||||
case '\t': doType(VK_TAB); break;
|
||||
case '\n': doType(VK_ENTER); break;
|
||||
case '[': doType(VK_OPEN_BRACKET); break;
|
||||
case ']': doType(VK_CLOSE_BRACKET); break;
|
||||
case '\\': doType(VK_BACK_SLASH); break;
|
||||
case '{': doType(VK_SHIFT, VK_OPEN_BRACKET); break;
|
||||
case '}': doType(VK_SHIFT, VK_CLOSE_BRACKET); break;
|
||||
case '|': doType(VK_SHIFT, VK_BACK_SLASH); break;
|
||||
case ';': doType(VK_SEMICOLON); break;
|
||||
case ':': doType(VK_COLON); break;
|
||||
case '\'': doType(VK_QUOTE); break;
|
||||
case '"': doType(VK_QUOTEDBL); break;
|
||||
case ',': doType(VK_COMMA); break;
|
||||
case '<': doType(VK_SHIFT, VK_COMMA); break;
|
||||
case '.': doType(VK_PERIOD); break;
|
||||
case '>': doType(VK_SHIFT, VK_PERIOD); break;
|
||||
case '/': doType(VK_SLASH); break;
|
||||
case '?': doType(VK_SHIFT, VK_SLASH); break;
|
||||
case ' ': doType(VK_SPACE); break;
|
||||
default:
|
||||
throw new IllegalArgumentException("Cannot type character " + character);
|
||||
public void keyPress(char characterKey) {
|
||||
|
||||
switch (characterKey) {
|
||||
case '☺':
|
||||
altNumpad("1");
|
||||
break;
|
||||
case '☻':
|
||||
altNumpad("2");
|
||||
break;
|
||||
case '♥':
|
||||
altNumpad("3");
|
||||
break;
|
||||
case '♦':
|
||||
altNumpad("4");
|
||||
break;
|
||||
case '♣':
|
||||
altNumpad("5");
|
||||
break;
|
||||
case '♠':
|
||||
altNumpad("6");
|
||||
break;
|
||||
case '♂':
|
||||
altNumpad("11");
|
||||
break;
|
||||
case '♀':
|
||||
altNumpad("12");
|
||||
break;
|
||||
case '♫':
|
||||
altNumpad("14");
|
||||
break;
|
||||
case '☼':
|
||||
altNumpad("15");
|
||||
break;
|
||||
case '►':
|
||||
altNumpad("16");
|
||||
break;
|
||||
case '◄':
|
||||
altNumpad("17");
|
||||
break;
|
||||
case '↕':
|
||||
altNumpad("18");
|
||||
break;
|
||||
case '‼':
|
||||
altNumpad("19");
|
||||
break;
|
||||
case '¶':
|
||||
altNumpad("20");
|
||||
break;
|
||||
case '§':
|
||||
altNumpad("21");
|
||||
break;
|
||||
case '▬':
|
||||
altNumpad("22");
|
||||
break;
|
||||
case '↨':
|
||||
altNumpad("23");
|
||||
break;
|
||||
case '↑':
|
||||
altNumpad("24");
|
||||
break;
|
||||
case '↓':
|
||||
altNumpad("25");
|
||||
break;
|
||||
case '→':
|
||||
altNumpad("26");
|
||||
break;
|
||||
case '←':
|
||||
altNumpad("27");
|
||||
break;
|
||||
case '∟':
|
||||
altNumpad("28");
|
||||
break;
|
||||
case '↔':
|
||||
altNumpad("29");
|
||||
break;
|
||||
case '▲':
|
||||
altNumpad("30");
|
||||
break;
|
||||
case '▼':
|
||||
altNumpad("31");
|
||||
break;
|
||||
case '!':
|
||||
altNumpad("33");
|
||||
break;
|
||||
case '"':
|
||||
altNumpad("34");
|
||||
break;
|
||||
case '#':
|
||||
altNumpad("35");
|
||||
break;
|
||||
case '$':
|
||||
altNumpad("36");
|
||||
break;
|
||||
case '%':
|
||||
altNumpad("37");
|
||||
break;
|
||||
case '&':
|
||||
altNumpad("38");
|
||||
break;
|
||||
case '\'':
|
||||
altNumpad("39");
|
||||
break;
|
||||
case '(':
|
||||
altNumpad("40");
|
||||
break;
|
||||
case ')':
|
||||
altNumpad("41");
|
||||
break;
|
||||
case '*':
|
||||
altNumpad("42");
|
||||
break;
|
||||
case '+':
|
||||
altNumpad("43");
|
||||
break;
|
||||
case ',':
|
||||
altNumpad("44");
|
||||
break;
|
||||
case '-':
|
||||
altNumpad("45");
|
||||
break;
|
||||
case '.':
|
||||
altNumpad("46");
|
||||
break;
|
||||
case '/':
|
||||
altNumpad("47");
|
||||
break;
|
||||
case '0':
|
||||
altNumpad("48");
|
||||
break;
|
||||
case '1':
|
||||
altNumpad("49");
|
||||
break;
|
||||
case '2':
|
||||
altNumpad("50");
|
||||
break;
|
||||
case '3':
|
||||
altNumpad("51");
|
||||
break;
|
||||
case '4':
|
||||
altNumpad("52");
|
||||
break;
|
||||
case '5':
|
||||
altNumpad("53");
|
||||
break;
|
||||
case '6':
|
||||
altNumpad("54");
|
||||
break;
|
||||
case '7':
|
||||
altNumpad("55");
|
||||
break;
|
||||
case '8':
|
||||
altNumpad("56");
|
||||
break;
|
||||
case '9':
|
||||
altNumpad("57");
|
||||
break;
|
||||
case ':':
|
||||
altNumpad("58");
|
||||
break;
|
||||
case ';':
|
||||
altNumpad("59");
|
||||
break;
|
||||
case '<':
|
||||
altNumpad("60");
|
||||
break;
|
||||
case '=':
|
||||
altNumpad("61");
|
||||
break;
|
||||
case '>':
|
||||
altNumpad("62");
|
||||
break;
|
||||
case '?':
|
||||
altNumpad("63");
|
||||
break;
|
||||
case '@':
|
||||
altNumpad("64");
|
||||
break;
|
||||
case 'A':
|
||||
altNumpad("65");
|
||||
break;
|
||||
case 'B':
|
||||
altNumpad("66");
|
||||
break;
|
||||
case 'C':
|
||||
altNumpad("67");
|
||||
break;
|
||||
case 'D':
|
||||
altNumpad("68");
|
||||
break;
|
||||
case 'E':
|
||||
altNumpad("69");
|
||||
break;
|
||||
case 'F':
|
||||
altNumpad("70");
|
||||
break;
|
||||
case 'G':
|
||||
altNumpad("71");
|
||||
break;
|
||||
case 'H':
|
||||
altNumpad("72");
|
||||
break;
|
||||
case 'I':
|
||||
altNumpad("73");
|
||||
break;
|
||||
case 'J':
|
||||
altNumpad("74");
|
||||
break;
|
||||
case 'K':
|
||||
altNumpad("75");
|
||||
break;
|
||||
case 'L':
|
||||
altNumpad("76");
|
||||
break;
|
||||
case 'M':
|
||||
altNumpad("77");
|
||||
break;
|
||||
case 'N':
|
||||
altNumpad("78");
|
||||
break;
|
||||
case 'O':
|
||||
altNumpad("79");
|
||||
break;
|
||||
case 'P':
|
||||
altNumpad("80");
|
||||
break;
|
||||
case 'Q':
|
||||
altNumpad("81");
|
||||
break;
|
||||
case 'R':
|
||||
altNumpad("82");
|
||||
break;
|
||||
case 'S':
|
||||
altNumpad("83");
|
||||
break;
|
||||
case 'T':
|
||||
altNumpad("84");
|
||||
break;
|
||||
case 'U':
|
||||
altNumpad("85");
|
||||
break;
|
||||
case 'V':
|
||||
altNumpad("86");
|
||||
break;
|
||||
case 'W':
|
||||
altNumpad("87");
|
||||
break;
|
||||
case 'X':
|
||||
altNumpad("88");
|
||||
break;
|
||||
case 'Y':
|
||||
altNumpad("89");
|
||||
break;
|
||||
case 'Z':
|
||||
altNumpad("90");
|
||||
break;
|
||||
case '[':
|
||||
altNumpad("91");
|
||||
break;
|
||||
case '\\':
|
||||
altNumpad("92");
|
||||
break;
|
||||
case ']':
|
||||
altNumpad("93");
|
||||
break;
|
||||
case '^':
|
||||
altNumpad("94");
|
||||
break;
|
||||
case '_':
|
||||
altNumpad("95");
|
||||
break;
|
||||
case '`':
|
||||
altNumpad("96");
|
||||
break;
|
||||
case 'a':
|
||||
altNumpad("97");
|
||||
break;
|
||||
case 'b':
|
||||
altNumpad("98");
|
||||
break;
|
||||
case 'c':
|
||||
altNumpad("99");
|
||||
break;
|
||||
case 'd':
|
||||
altNumpad("100");
|
||||
break;
|
||||
case 'e':
|
||||
altNumpad("101");
|
||||
break;
|
||||
case 'f':
|
||||
altNumpad("102");
|
||||
break;
|
||||
case 'g':
|
||||
altNumpad("103");
|
||||
break;
|
||||
case 'h':
|
||||
altNumpad("104");
|
||||
break;
|
||||
case 'i':
|
||||
altNumpad("105");
|
||||
break;
|
||||
case 'j':
|
||||
altNumpad("106");
|
||||
break;
|
||||
case 'k':
|
||||
altNumpad("107");
|
||||
break;
|
||||
case 'l':
|
||||
altNumpad("108");
|
||||
break;
|
||||
case 'm':
|
||||
altNumpad("109");
|
||||
break;
|
||||
case 'n':
|
||||
altNumpad("110");
|
||||
break;
|
||||
case 'o':
|
||||
altNumpad("111");
|
||||
break;
|
||||
case 'p':
|
||||
altNumpad("112");
|
||||
break;
|
||||
case 'q':
|
||||
altNumpad("113");
|
||||
break;
|
||||
case 'r':
|
||||
altNumpad("114");
|
||||
break;
|
||||
case 's':
|
||||
altNumpad("115");
|
||||
break;
|
||||
case 't':
|
||||
altNumpad("116");
|
||||
break;
|
||||
case 'u':
|
||||
altNumpad("117");
|
||||
break;
|
||||
case 'v':
|
||||
altNumpad("118");
|
||||
break;
|
||||
case 'w':
|
||||
altNumpad("119");
|
||||
break;
|
||||
case 'x':
|
||||
altNumpad("120");
|
||||
break;
|
||||
case 'y':
|
||||
altNumpad("121");
|
||||
break;
|
||||
case 'z':
|
||||
altNumpad("122");
|
||||
break;
|
||||
case '{':
|
||||
altNumpad("123");
|
||||
break;
|
||||
case '|':
|
||||
altNumpad("124");
|
||||
break;
|
||||
case '}':
|
||||
altNumpad("125");
|
||||
break;
|
||||
case '~':
|
||||
altNumpad("126");
|
||||
break;
|
||||
case '⌂':
|
||||
altNumpad("127");
|
||||
break;
|
||||
case 'Ç':
|
||||
altNumpad("128");
|
||||
break;
|
||||
case 'ü':
|
||||
altNumpad("129");
|
||||
break;
|
||||
case 'é':
|
||||
altNumpad("130");
|
||||
break;
|
||||
case 'â':
|
||||
altNumpad("131");
|
||||
break;
|
||||
case 'ä':
|
||||
altNumpad("132");
|
||||
break;
|
||||
case 'à':
|
||||
altNumpad("133");
|
||||
break;
|
||||
case 'å':
|
||||
altNumpad("134");
|
||||
break;
|
||||
case 'ç':
|
||||
altNumpad("135");
|
||||
break;
|
||||
case 'ê':
|
||||
altNumpad("136");
|
||||
break;
|
||||
case 'ë':
|
||||
altNumpad("137");
|
||||
break;
|
||||
case 'è':
|
||||
altNumpad("138");
|
||||
break;
|
||||
case 'ï':
|
||||
altNumpad("139");
|
||||
break;
|
||||
case 'î':
|
||||
altNumpad("140");
|
||||
break;
|
||||
case 'ì':
|
||||
altNumpad("141");
|
||||
break;
|
||||
case 'Ä':
|
||||
altNumpad("142");
|
||||
break;
|
||||
case 'Å':
|
||||
altNumpad("143");
|
||||
break;
|
||||
case 'É':
|
||||
altNumpad("144");
|
||||
break;
|
||||
case 'æ':
|
||||
altNumpad("145");
|
||||
break;
|
||||
case 'Æ':
|
||||
altNumpad("146");
|
||||
break;
|
||||
case 'ô':
|
||||
altNumpad("147");
|
||||
break;
|
||||
case 'ö':
|
||||
altNumpad("148");
|
||||
break;
|
||||
case 'ò':
|
||||
altNumpad("149");
|
||||
break;
|
||||
case 'û':
|
||||
altNumpad("150");
|
||||
break;
|
||||
case 'ù':
|
||||
altNumpad("151");
|
||||
break;
|
||||
case 'ÿ':
|
||||
altNumpad("152");
|
||||
break;
|
||||
case 'Ö':
|
||||
altNumpad("153");
|
||||
break;
|
||||
case 'Ü':
|
||||
altNumpad("154");
|
||||
break;
|
||||
case '¢':
|
||||
altNumpad("155");
|
||||
break;
|
||||
case '£':
|
||||
altNumpad("156");
|
||||
break;
|
||||
case '¥':
|
||||
altNumpad("157");
|
||||
break;
|
||||
case '₧':
|
||||
altNumpad("158");
|
||||
break;
|
||||
case 'ƒ':
|
||||
altNumpad("159");
|
||||
break;
|
||||
case 'á':
|
||||
altNumpad("160");
|
||||
break;
|
||||
case 'í':
|
||||
altNumpad("161");
|
||||
break;
|
||||
case 'ó':
|
||||
altNumpad("162");
|
||||
break;
|
||||
case 'ú':
|
||||
altNumpad("163");
|
||||
break;
|
||||
case 'ñ':
|
||||
altNumpad("164");
|
||||
break;
|
||||
case 'Ñ':
|
||||
altNumpad("165");
|
||||
break;
|
||||
case 'ª':
|
||||
altNumpad("166");
|
||||
break;
|
||||
case 'º':
|
||||
altNumpad("167");
|
||||
break;
|
||||
case '¿':
|
||||
altNumpad("168");
|
||||
break;
|
||||
case '⌐':
|
||||
altNumpad("169");
|
||||
break;
|
||||
case '¬':
|
||||
altNumpad("170");
|
||||
break;
|
||||
case '½':
|
||||
altNumpad("171");
|
||||
break;
|
||||
case '¼':
|
||||
altNumpad("172");
|
||||
break;
|
||||
case '¡':
|
||||
altNumpad("173");
|
||||
break;
|
||||
case '«':
|
||||
altNumpad("174");
|
||||
break;
|
||||
case '»':
|
||||
altNumpad("175");
|
||||
break;
|
||||
case '░':
|
||||
altNumpad("176");
|
||||
break;
|
||||
case '▒':
|
||||
altNumpad("177");
|
||||
break;
|
||||
case '▓':
|
||||
altNumpad("178");
|
||||
break;
|
||||
case '│':
|
||||
altNumpad("179");
|
||||
break;
|
||||
case '┤':
|
||||
altNumpad("180");
|
||||
break;
|
||||
case '╡':
|
||||
altNumpad("181");
|
||||
break;
|
||||
case '╢':
|
||||
altNumpad("182");
|
||||
break;
|
||||
case '╖':
|
||||
altNumpad("183");
|
||||
break;
|
||||
case '╕':
|
||||
altNumpad("184");
|
||||
break;
|
||||
case '╣':
|
||||
altNumpad("185");
|
||||
break;
|
||||
case '║':
|
||||
altNumpad("186");
|
||||
break;
|
||||
case '╗':
|
||||
altNumpad("187");
|
||||
break;
|
||||
case '╝':
|
||||
altNumpad("188");
|
||||
break;
|
||||
case '╜':
|
||||
altNumpad("189");
|
||||
break;
|
||||
case '╛':
|
||||
altNumpad("190");
|
||||
break;
|
||||
case '┐':
|
||||
altNumpad("191");
|
||||
break;
|
||||
case '└':
|
||||
altNumpad("192");
|
||||
break;
|
||||
case '┴':
|
||||
altNumpad("193");
|
||||
break;
|
||||
case '┬':
|
||||
altNumpad("194");
|
||||
break;
|
||||
case '├':
|
||||
altNumpad("195");
|
||||
break;
|
||||
case '─':
|
||||
altNumpad("196");
|
||||
break;
|
||||
case '┼':
|
||||
altNumpad("197");
|
||||
break;
|
||||
case '╞':
|
||||
altNumpad("198");
|
||||
break;
|
||||
case '╟':
|
||||
altNumpad("199");
|
||||
break;
|
||||
case '╚':
|
||||
altNumpad("200");
|
||||
break;
|
||||
case '╔':
|
||||
altNumpad("201");
|
||||
break;
|
||||
case '╩':
|
||||
altNumpad("202");
|
||||
break;
|
||||
case '╦':
|
||||
altNumpad("203");
|
||||
break;
|
||||
case '╠':
|
||||
altNumpad("204");
|
||||
break;
|
||||
case '═':
|
||||
altNumpad("205");
|
||||
break;
|
||||
case '╬':
|
||||
altNumpad("206");
|
||||
break;
|
||||
case '╧':
|
||||
altNumpad("207");
|
||||
break;
|
||||
case '╨':
|
||||
altNumpad("208");
|
||||
break;
|
||||
case '╤':
|
||||
altNumpad("209");
|
||||
break;
|
||||
case '╥':
|
||||
altNumpad("210");
|
||||
break;
|
||||
case '╙':
|
||||
altNumpad("211");
|
||||
break;
|
||||
case '╘':
|
||||
altNumpad("212");
|
||||
break;
|
||||
case '╒':
|
||||
altNumpad("213");
|
||||
break;
|
||||
case '╓':
|
||||
altNumpad("214");
|
||||
break;
|
||||
case '╫':
|
||||
altNumpad("215");
|
||||
break;
|
||||
case '╪':
|
||||
altNumpad("216");
|
||||
break;
|
||||
case '┘':
|
||||
altNumpad("217");
|
||||
break;
|
||||
case '┌':
|
||||
altNumpad("218");
|
||||
break;
|
||||
case '█':
|
||||
altNumpad("219");
|
||||
break;
|
||||
case '▄':
|
||||
altNumpad("220");
|
||||
break;
|
||||
case '▌':
|
||||
altNumpad("221");
|
||||
break;
|
||||
case '▐':
|
||||
altNumpad("222");
|
||||
break;
|
||||
case '▀':
|
||||
altNumpad("223");
|
||||
break;
|
||||
case 'α':
|
||||
altNumpad("224");
|
||||
break;
|
||||
case 'ß':
|
||||
altNumpad("225");
|
||||
break;
|
||||
case 'Γ':
|
||||
altNumpad("226");
|
||||
break;
|
||||
case 'π':
|
||||
altNumpad("227");
|
||||
break;
|
||||
case 'Σ':
|
||||
altNumpad("228");
|
||||
break;
|
||||
case 'σ':
|
||||
altNumpad("229");
|
||||
break;
|
||||
case 'µ':
|
||||
altNumpad("230");
|
||||
break;
|
||||
case 'τ':
|
||||
altNumpad("231");
|
||||
break;
|
||||
case 'Φ':
|
||||
altNumpad("232");
|
||||
break;
|
||||
case 'Θ':
|
||||
altNumpad("233");
|
||||
break;
|
||||
case 'Ω':
|
||||
altNumpad("234");
|
||||
break;
|
||||
case 'δ':
|
||||
altNumpad("235");
|
||||
break;
|
||||
case '∞':
|
||||
altNumpad("236");
|
||||
break;
|
||||
case 'φ':
|
||||
altNumpad("237");
|
||||
break;
|
||||
case 'ε':
|
||||
altNumpad("238");
|
||||
break;
|
||||
case '∩':
|
||||
altNumpad("239");
|
||||
break;
|
||||
case '≡':
|
||||
altNumpad("240");
|
||||
break;
|
||||
case '±':
|
||||
altNumpad("241");
|
||||
break;
|
||||
case '≥':
|
||||
altNumpad("242");
|
||||
break;
|
||||
case '≤':
|
||||
altNumpad("243");
|
||||
break;
|
||||
case '⌠':
|
||||
altNumpad("244");
|
||||
break;
|
||||
case '⌡':
|
||||
altNumpad("245");
|
||||
break;
|
||||
case '÷':
|
||||
altNumpad("246");
|
||||
break;
|
||||
case '≈':
|
||||
altNumpad("247");
|
||||
break;
|
||||
case '°':
|
||||
altNumpad("248");
|
||||
break;
|
||||
case '∙':
|
||||
altNumpad("249");
|
||||
break;
|
||||
case '·':
|
||||
altNumpad("250");
|
||||
break;
|
||||
case '√':
|
||||
altNumpad("251");
|
||||
break;
|
||||
case 'ⁿ':
|
||||
altNumpad("252");
|
||||
break;
|
||||
case '²':
|
||||
altNumpad("253");
|
||||
break;
|
||||
case '■':
|
||||
altNumpad("254");
|
||||
break;
|
||||
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void doType(int... keyCodes) {
|
||||
doType(keyCodes, 0, keyCodes.length);
|
||||
}
|
||||
|
||||
private void doType(int[] keyCodes, int offset, int length) {
|
||||
if (length == 0) {
|
||||
private void altNumpad(int... numpadCodes) {
|
||||
if (numpadCodes.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
robot.keyPress(keyCodes[offset]);
|
||||
doType(keyCodes, offset + 1, length - 1);
|
||||
robot.keyRelease(keyCodes[offset]);
|
||||
robot.keyPress(VK_ALT);
|
||||
|
||||
for (int NUMPAD_KEY : numpadCodes) {
|
||||
robot.keyPress(NUMPAD_KEY);
|
||||
robot.keyRelease(NUMPAD_KEY);
|
||||
}
|
||||
|
||||
robot.keyRelease(VK_ALT);
|
||||
}
|
||||
|
||||
private void altNumpad(String numpadCodes) {
|
||||
if (numpadCodes == null || !numpadCodes.matches("^\\d+$")) {
|
||||
return;
|
||||
}
|
||||
|
||||
robot.keyPress(VK_ALT);
|
||||
|
||||
for (char charater : numpadCodes.toCharArray()) {
|
||||
|
||||
int NUMPAD_KEY = getNumpad(charater);
|
||||
|
||||
if (NUMPAD_KEY != -1) {
|
||||
robot.keyPress(NUMPAD_KEY);
|
||||
robot.keyRelease(NUMPAD_KEY);
|
||||
}
|
||||
}
|
||||
|
||||
robot.keyRelease(VK_ALT);
|
||||
}
|
||||
|
||||
private int getNumpad(char numberChar) {
|
||||
switch (numberChar) {
|
||||
case '0':
|
||||
return VK_NUMPAD0;
|
||||
case '1':
|
||||
return VK_NUMPAD1;
|
||||
case '2':
|
||||
return VK_NUMPAD2;
|
||||
case '3':
|
||||
return VK_NUMPAD3;
|
||||
case '4':
|
||||
return VK_NUMPAD4;
|
||||
case '5':
|
||||
return VK_NUMPAD5;
|
||||
case '6':
|
||||
return VK_NUMPAD6;
|
||||
case '7':
|
||||
return VK_NUMPAD7;
|
||||
case '8':
|
||||
return VK_NUMPAD8;
|
||||
case '9':
|
||||
return VK_NUMPAD9;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void typeEnter() {
|
||||
|
@ -10,6 +10,7 @@ public class PasswordTyper extends JFrame {
|
||||
|
||||
private JPanel contentPane;
|
||||
private JTextField text;
|
||||
|
||||
private Keyboard keyboard;
|
||||
|
||||
public static void main(String... args) {
|
||||
@ -57,6 +58,7 @@ public class PasswordTyper extends JFrame {
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
keyboard.type(text.getText());
|
||||
keyboard.typeEnter();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user