( KeyEvent e )
| 172 | } |
| 173 | |
| 174 | private synchronized void type( KeyEvent e ) { |
| 175 | switch ( e.getKeyCode() ) |
| 176 | { |
| 177 | case ( KeyEvent.VK_ENTER ): |
| 178 | if (e.getID() == KeyEvent.KEY_PRESSED) { |
| 179 | if (gotUp) { |
| 180 | enter(); |
| 181 | resetCommandStart(); |
| 182 | text.setCaretPosition(cmdStart); |
| 183 | } |
| 184 | } |
| 185 | e.consume(); |
| 186 | text.repaint(); |
| 187 | break; |
| 188 | |
| 189 | case ( KeyEvent.VK_UP ): |
| 190 | if (e.getID() == KeyEvent.KEY_PRESSED) { |
| 191 | historyUp(); |
| 192 | } |
| 193 | e.consume(); |
| 194 | break; |
| 195 | |
| 196 | case ( KeyEvent.VK_DOWN ): |
| 197 | if (e.getID() == KeyEvent.KEY_PRESSED) { |
| 198 | historyDown(); |
| 199 | } |
| 200 | e.consume(); |
| 201 | break; |
| 202 | |
| 203 | case ( KeyEvent.VK_LEFT ): |
| 204 | case ( KeyEvent.VK_BACK_SPACE ): |
| 205 | case ( KeyEvent.VK_DELETE ): |
| 206 | if (text.getCaretPosition() <= cmdStart) { |
| 207 | // This doesn't work for backspace. |
| 208 | // See default case for workaround |
| 209 | e.consume(); |
| 210 | } |
| 211 | break; |
| 212 | |
| 213 | case ( KeyEvent.VK_RIGHT ): |
| 214 | forceCaretMoveToStart(); |
| 215 | break; |
| 216 | |
| 217 | case ( KeyEvent.VK_HOME ): |
| 218 | text.setCaretPosition(cmdStart); |
| 219 | e.consume(); |
| 220 | break; |
| 221 | |
| 222 | case ( KeyEvent.VK_U ): // clear line |
| 223 | if ( (e.getModifiers() & InputEvent.CTRL_MASK) > 0 ) { |
| 224 | replaceRange( "", cmdStart, textLength()); |
| 225 | histLine = 0; |
| 226 | e.consume(); |
| 227 | } |
| 228 | break; |
| 229 | |
| 230 | case ( KeyEvent.VK_ALT ): |
| 231 | case ( KeyEvent.VK_CAPS_LOCK ): |
no test coverage detected