/** Handles all the actions when a key is pressed */ public void keyPressed(ShrimpKeyEvent e) { int code = e.getKeyCode(); // in case the system didn't throw all the events, this clears the modifiers for us if (e.getModifiers() == 0) { isCtrlPressed = false; isShiftPressed = false; isAltPressed = false; } if (code == KeyEvent.VK_CONTROL) { isCtrlPressed = true; } else if (code == KeyEvent.VK_SHIFT) { isShiftPressed = true; } else if (code == KeyEvent.VK_ALT) { isAltPressed = true; } // tool.clearOutputText(); for (int i = 0; i < keyPressedEvents.size(); i++) { UserEvent userEvent = (UserEvent) keyPressedEvents.elementAt(i); if (userEvent.getKeyOrButton() == code) { if ((isShiftPressed == userEvent.isShiftRequired()) && (isCtrlPressed == userEvent.isControlRequired()) && (isAltPressed == userEvent.isAltRequired())) { startAction(userEvent.getAction()); } } } }
/** Handles all the actions when a key is released */ public void keyReleased(ShrimpKeyEvent e) { int code = e.getKeyCode(); if (code == KeyEvent.VK_CONTROL) { isCtrlPressed = false; } else if (code == KeyEvent.VK_SHIFT) { isShiftPressed = false; } else if (code == KeyEvent.VK_ALT) { isAltPressed = false; } for (int i = 0; i < keyReleasedEvents.size(); i++) { UserEvent userEvent = (UserEvent) keyReleasedEvents.elementAt(i); if (userEvent.getKeyOrButton() == code) { if ((isShiftPressed == userEvent.isShiftRequired()) && (isCtrlPressed == userEvent.isControlRequired()) && (isAltPressed == userEvent.isAltRequired())) { stopAction(userEvent.getAction()); } } } }