shift | ctrl | alt | shift ctrl | shift alt | ctrl alt | shift ctrl alt | ||
---|---|---|---|---|---|---|---|---|
0 | ||||||||
1 | ||||||||
2 | ||||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | ||||||||
7 | ||||||||
8 | ||||||||
9 | ||||||||
A | ||||||||
ACCEPT | ||||||||
ADD | ||||||||
AGAIN | ||||||||
ALL_CANDIDATES | ||||||||
ALPHANUMERIC | ||||||||
ALT | ||||||||
ALT_GRAPH | ||||||||
AMPERSAND | ||||||||
ASTERISK | ||||||||
AT | ||||||||
B | ||||||||
BACK_QUOTE | ||||||||
BACK_SLASH | ||||||||
BACK_SPACE | ||||||||
BEGIN | ||||||||
BRACELEFT | ||||||||
BRACERIGHT | ||||||||
C | ||||||||
CANCEL | ||||||||
CAPS_LOCK | ||||||||
CIRCUMFLEX | ||||||||
CLEAR | ||||||||
CLOSE_BRACKET | ||||||||
CODE_INPUT | ||||||||
COLON | ||||||||
COMMA | ||||||||
COMPOSE | ||||||||
CONTEXT_MENU | ||||||||
CONTROL | ||||||||
CONVERT | ||||||||
COPY | ||||||||
CUT | ||||||||
D | ||||||||
DEAD_ABOVEDOT | ||||||||
DEAD_ABOVERING | ||||||||
DEAD_ACUTE | ||||||||
DEAD_BREVE | ||||||||
DEAD_CARON | ||||||||
DEAD_CEDILLA | ||||||||
DEAD_CIRCUMFLEX | ||||||||
DEAD_DIAERESIS | ||||||||
DEAD_DOUBLEACUTE | ||||||||
DEAD_GRAVE | ||||||||
DEAD_IOTA | ||||||||
DEAD_MACRON | ||||||||
DEAD_OGONEK | ||||||||
DEAD_SEMIVOICED_SOUND | ||||||||
DEAD_TILDE | ||||||||
DEAD_VOICED_SOUND | ||||||||
DECIMAL | ||||||||
DELETE | ||||||||
DIVIDE | ||||||||
DOLLAR | ||||||||
DOWN | ||||||||
E | ||||||||
END | ||||||||
ENTER | ||||||||
EQUALS | ||||||||
ESCAPE | ||||||||
EURO_SIGN | ||||||||
EXCLAMATION_MARK | ||||||||
F | ||||||||
F1 | ||||||||
F10 | ||||||||
F11 | ||||||||
F12 | ||||||||
F13 | ||||||||
F14 | ||||||||
F15 | ||||||||
F16 | ||||||||
F17 | ||||||||
F18 | ||||||||
F19 | ||||||||
F2 | ||||||||
F20 | ||||||||
F21 | ||||||||
F22 | ||||||||
F23 | ||||||||
F24 | ||||||||
F3 | ||||||||
F4 | ||||||||
F5 | ||||||||
F6 | ||||||||
F7 | ||||||||
F8 | ||||||||
F9 | ||||||||
FINAL | ||||||||
FIND | ||||||||
FULL_WIDTH | ||||||||
G | ||||||||
GREATER | ||||||||
H | ||||||||
HALF_WIDTH | ||||||||
HELP | ||||||||
HIRAGANA | ||||||||
HOME | ||||||||
I | ||||||||
INPUT_METHOD_ON_OFF | ||||||||
INSERT | ||||||||
INVERTED_EXCLAMATION_MARK | ||||||||
J | ||||||||
JAPANESE_HIRAGANA | ||||||||
JAPANESE_KATAKANA | ||||||||
JAPANESE_ROMAN | ||||||||
K | ||||||||
KANA | ||||||||
KANA_LOCK | ||||||||
KANJI | ||||||||
KATAKANA | ||||||||
KP_DOWN | ||||||||
KP_LEFT | ||||||||
KP_RIGHT | ||||||||
KP_UP | ||||||||
L | ||||||||
LEFT | ||||||||
LEFT_PARENTHESIS | ||||||||
LESS | ||||||||
M | ||||||||
META | ||||||||
MINUS | ||||||||
MODECHANGE | ||||||||
MULTIPLY | ||||||||
N | ||||||||
NONCONVERT | ||||||||
NUMBER_SIGN | ||||||||
NUMPAD0 | ||||||||
NUMPAD1 | ||||||||
NUMPAD2 | ||||||||
NUMPAD3 | ||||||||
NUMPAD4 | ||||||||
NUMPAD5 | ||||||||
NUMPAD6 | ||||||||
NUMPAD7 | ||||||||
NUMPAD8 | ||||||||
NUMPAD9 | ||||||||
NUM_LOCK | ||||||||
O | ||||||||
OPEN_BRACKET | ||||||||
P | ||||||||
PAGE_DOWN | ||||||||
PAGE_UP | ||||||||
PASTE | ||||||||
PAUSE | ||||||||
PERIOD | ||||||||
PLUS | ||||||||
PREVIOUS_CANDIDATE | ||||||||
PRINTSCREEN | ||||||||
PROPS | ||||||||
Q | ||||||||
QUOTE | ||||||||
QUOTEDBL | ||||||||
R | ||||||||
RIGHT | ||||||||
RIGHT_PARENTHESIS | ||||||||
ROMAN_CHARACTERS | ||||||||
S | ||||||||
SCROLL_LOCK | ||||||||
SEMICOLON | ||||||||
SEPARATER | ||||||||
SEPARATOR | ||||||||
SHIFT | ||||||||
SLASH | ||||||||
SPACE | ||||||||
STOP | ||||||||
SUBTRACT | ||||||||
T | ||||||||
TAB | ||||||||
U | ||||||||
UNDEFINED | ||||||||
UNDERSCORE | ||||||||
UNDO | ||||||||
UP | ||||||||
V | ||||||||
W | ||||||||
WINDOWS | ||||||||
X | ||||||||
Y | ||||||||
Z |
Last active
December 14, 2024 11:09
-
-
Save sandipchitale/fcec62cdb5fb86f58fd4f1fb074630c8 to your computer and use it in GitHub Desktop.
KeyEventCombinationTable #KeyEventCombinationTable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.awt.event.KeyEvent; | |
import java.util.*; | |
public class KeyEventCombinationTable { | |
public static void main(String[] args) { | |
// Get all VK_ fields | |
List<String> vkFields = new ArrayList<>(); | |
// List<String> asciiChars = new ArrayList<>(); | |
// Collect VK_ fields | |
for (java.lang.reflect.Field field : KeyEvent.class.getDeclaredFields()) { | |
if (field.getName().startsWith("VK_")) { | |
vkFields.add(field.getName().replace("VK_", "")); | |
} | |
} | |
// Collect printable ASCII characters | |
// for (int i = 32; i < 127; i++) { | |
// asciiChars.add("'" + ((char)i == '|' ? "\\": "") + ((char)i) + "'"); | |
// } | |
// Combine VK_ fields and ASCII chars | |
List<String> allRows = new ArrayList<>(); | |
allRows.addAll(vkFields); | |
// allRows.addAll(asciiChars); | |
// Sort the combined list | |
Collections.sort(allRows); | |
// Generate header combinations (excluding zero-length item) | |
String[] modifiers = {"", "shift", "ctrl", "alt", "shift ctrl", "shift alt", "ctrl alt", "shift ctrl alt"}; | |
// Print table header | |
System.out.print("|"); | |
for (String mod : modifiers) { | |
System.out.print("|" +mod); | |
} | |
System.out.println("|"); | |
// Print separator | |
System.out.print("|-"); | |
for (String mod : modifiers) { | |
System.out.print("|-"); | |
} | |
System.out.println("|"); | |
// Print rows | |
for (String row : allRows) { | |
// Print key | |
System.out.print("|"+ row + "\t"); | |
for (String mod : modifiers) { | |
System.out.print("|"); | |
} | |
System.out.println("|"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment