@Override public int compareTo(@NotNull Row row) { final KeyStroke otherKeyStroke = row.getKeyStroke(); final int keyCodeDiff = myKeyStroke.getKeyCode() - otherKeyStroke.getKeyCode(); return keyCodeDiff != 0 ? keyCodeDiff : myKeyStroke.getModifiers() - otherKeyStroke.getModifiers(); }
public static boolean isCloseKeyStroke(@NotNull KeyStroke key) { return key.getKeyCode() == VK_ESCAPE || key.getKeyChar() == VK_ESCAPE || key.getKeyCode() == VK_C && (key.getModifiers() & CTRL_MASK) != 0 || key.getKeyCode() == '[' && (key.getModifiers() & CTRL_MASK) != 0; }
private static boolean isControlKeyCode(@NotNull KeyStroke key) { return key.getKeyChar() == CHAR_UNDEFINED && key.getKeyCode() < 0x20 && key.getModifiers() == 0; }
/** Converts a Swing key stroke descriptor to a familiar Emacs-like name. * @param stroke key description * @return name of the key (e.g. <code>CS-F1</code> for control-shift-function key one) * @see #stringToKey */ public static String keyToString(KeyStroke stroke) { StringBuilder sb = new StringBuilder(); // add modifiers that must be pressed if (addModifiers(sb, stroke.getModifiers())) { sb.append('-'); } appendRest(sb, stroke); return sb.toString(); }
@NotNull private KeyEvent createKeyEvent(@NotNull KeyStroke stroke, Component component) { return new KeyEvent(component, stroke.getKeyChar() == KeyEvent.CHAR_UNDEFINED ? KeyEvent.KEY_PRESSED : KeyEvent.KEY_TYPED, System.currentTimeMillis(), stroke.getModifiers(), stroke.getKeyCode(), stroke.getKeyChar()); }
public static boolean isDigraphStart(@NotNull KeyStroke key) { if ((key.getModifiers() & KeyEvent.CTRL_MASK) != 0) { if (key.getKeyCode() == KeyEvent.VK_K || key.getKeyCode() == KeyEvent.VK_V || key.getKeyCode() == KeyEvent.VK_Q) { return true; } } return false; }
private int compareKeys(@NotNull KeyStroke key1, @NotNull KeyStroke key2) { final char c1 = key1.getKeyChar(); final char c2 = key2.getKeyChar(); if (c1 == KeyEvent.CHAR_UNDEFINED && c2 == KeyEvent.CHAR_UNDEFINED) { final int keyCodeDiff = key1.getKeyCode() - key2.getKeyCode(); if (keyCodeDiff != 0) { return keyCodeDiff; } return key1.getModifiers() - key2.getModifiers(); } else if (c1 == KeyEvent.CHAR_UNDEFINED) { return -1; } else if (c2 == KeyEvent.CHAR_UNDEFINED) { return 1; } else { return c1 - c2; } } }
/** * Converts a Swing key stroke descriptor to a familiar Emacs-like name, * but in a portable way, ie. <code>Meta-C</code> on Mac => <code>D-C</code> * @param stroke key description * @return name of the key (e.g. <code>CS-F1</code> for control-shift-function key one) * @see #stringToKey */ public static String keyToString(KeyStroke stroke, boolean portable) { if (portable) { StringBuilder sb = new StringBuilder(); // add modifiers that must be pressed if (addModifiersPortable(sb, stroke.getModifiers())) { sb.append('-'); } appendRest(sb, stroke); return sb.toString(); } return keyToString(stroke); }
final char c = key.getKeyChar(); final int keyCode = key.getKeyCode(); final int modifiers = key.getModifiers();
public void handleKey(@NotNull KeyStroke stroke) { if (logger.isDebugEnabled()) logger.debug("stroke=" + stroke); final char keyChar = stroke.getKeyChar(); char c = keyChar; final int modifiers = stroke.getModifiers(); final int keyCode = stroke.getKeyCode(); if ((modifiers & KeyEvent.CTRL_MASK) != 0) { final int codePoint = keyCode - KeyEvent.VK_A + 1; if (codePoint > 0) { c = Character.toChars(codePoint)[0]; } } KeyEvent event = new KeyEvent(this, keyChar != KeyEvent.CHAR_UNDEFINED ? KeyEvent.KEY_TYPED : (stroke.isOnKeyRelease() ? KeyEvent.KEY_RELEASED : KeyEvent.KEY_PRESSED), (new Date()).getTime(), modifiers, keyCode, c); super.processKeyEvent(event); }
public void saveData(@NotNull final Element element) { logger.debug("saveData"); final Element registersElement = new Element("registers"); for (Character key : registers.keySet()) { final Register register = registers.get(key); final Element registerElement = new Element("register"); registerElement.setAttribute("name", String.valueOf(key)); registerElement.setAttribute("type", Integer.toString(register.getType().getValue())); final String text = register.getText(); if (text != null) { final Element textElement = new Element("text"); StringHelper.setSafeXmlText(textElement, text); registerElement.addContent(textElement); } else { final Element keys = new Element("keys"); final List<KeyStroke> list = register.getKeys(); for (KeyStroke stroke : list) { final Element k = new Element("key"); k.setAttribute("char", Integer.toString(stroke.getKeyChar())); k.setAttribute("code", Integer.toString(stroke.getKeyCode())); k.setAttribute("mods", Integer.toString(stroke.getModifiers())); keys.addContent(k); } registerElement.addContent(keys); } registersElement.addContent(registerElement); } element.addContent(registersElement); }
case DIG_STATE_START: logger.debug("DIG_STATE_START"); if (key.getKeyCode() == KeyEvent.VK_K && (key.getModifiers() & KeyEvent.CTRL_MASK) != 0) { logger.debug("found Ctrl-K"); digraphState = DIG_STATE_DIG_ONE; (key.getModifiers() & KeyEvent.CTRL_MASK) != 0) { logger.debug("found Ctrl-V"); digraphState = DIG_STATE_CODE_START;
/** Converts a Swing key stroke descriptor to a familiar Emacs-like name. * @param stroke key description * @return name of the key (e.g. <code>CS-F1</code> for control-shift-function key one) * @see #stringToKey */ public static String keyToString(KeyStroke stroke) { StringBuilder sb = new StringBuilder(); // add modifiers that must be pressed if (addModifiers(sb, stroke.getModifiers())) { sb.append('-'); } appendRest(sb, stroke); return sb.toString(); }
/** * Converts a Swing key stroke descriptor to a familiar Emacs-like name, * but in a portable way, ie. <code>Meta-C</code> on Mac => <code>D-C</code> * @param stroke key description * @return name of the key (e.g. <code>CS-F1</code> for control-shift-function key one) * @see #stringToKey */ public static String keyToString(KeyStroke stroke, boolean portable) { if (portable) { StringBuilder sb = new StringBuilder(); // add modifiers that must be pressed if (addModifiersPortable(sb, stroke.getModifiers())) { sb.append('-'); } appendRest(sb, stroke); return sb.toString(); } return keyToString(stroke); }
/** Same method as above, but works just with plain actions. */ private static String findKey(Action action) { if (action == null) { return null; } KeyStroke accelerator = (KeyStroke) action.getValue(Action.ACCELERATOR_KEY); if (accelerator == null) { return null; } int modifiers = accelerator.getModifiers(); String acceleratorText = ""; // NOI18N if (modifiers > 0) { acceleratorText = KeyEvent.getKeyModifiersText(modifiers); acceleratorText += "+"; // NOI18N } else if (accelerator.getKeyCode() == KeyEvent.VK_UNDEFINED) { return ""; // NOI18N } acceleratorText += KeyEvent.getKeyText(accelerator.getKeyCode()); return acceleratorText; }
public int getModifiers() { for (KeyStroke ks : myKeyStrokes) { return ks.getModifiers(); } return 0; }
public KeyedAction( KeyStroke stroke ) { super(); putValue( ACCELERATOR_KEY, stroke ); ignoreFocus = (stroke == null) || ((stroke.getModifiers() & (InputEvent.META_DOWN_MASK | InputEvent.CTRL_DOWN_MASK)) != 0); // if( !ignoreFocus ) { // // } }
public KeyStroke getAccelerator() { String acceleratorString = getPluginProperty(ACCELERATOR_PARAM); if (acceleratorString != null) { KeyStroke ks = KeyStroke.getKeyStroke(acceleratorString); if (ks != null) { return KeyStroke.getKeyStroke(ks.getKeyCode(), Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | ks.getModifiers()); } } return null; }
public KeyStroke getAccelerator() { String acceleratorString = getPluginProperty(ACCELERATOR_PARAM); if (acceleratorString != null) { KeyStroke ks = KeyStroke.getKeyStroke(acceleratorString); if (ks != null) { return KeyStroke.getKeyStroke(ks.getKeyCode(), Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() | ks.getModifiers()); } } return null; }
/** * Adds a single global hotkey. * * @param hotkey */ private void addGlobalHotkey(Hotkey hotkey) { if (globalHotkeys != null) { globalHotkeys.registerHotkey(hotkey, hotkey.keyStroke.getModifiers(), hotkey.keyStroke.getKeyCode()); } }