Modify a key affected by a round-trip or a clockwise circle gesture.
(KeyValue k)
| 402 | |
| 403 | /** Modify a key affected by a round-trip or a clockwise circle gesture. */ |
| 404 | private static KeyValue apply_gesture(KeyValue k) |
| 405 | { |
| 406 | KeyValue modified = apply_shift(k); |
| 407 | if (_modmap != null) |
| 408 | { |
| 409 | modified = _modmap.get(Modmap.M.Fn, k); |
| 410 | if (modified != null) |
| 411 | return modified; |
| 412 | } |
| 413 | modified = apply_shift(k); |
| 414 | if (modified != null && !modified.equals(k)) |
| 415 | return modified; |
| 416 | modified = apply_fn(k); |
| 417 | if (modified != null && !modified.equals(k)) |
| 418 | return modified; |
| 419 | String name = null; |
| 420 | switch (k.getKind()) |
| 421 | { |
| 422 | case Modifier: |
| 423 | switch (k.getModifier()) |
| 424 | { |
| 425 | case SHIFT: name = "capslock"; break; |
| 426 | } |
| 427 | break; |
| 428 | case Keyevent: |
| 429 | switch (k.getKeyevent()) |
| 430 | { |
| 431 | case KeyEvent.KEYCODE_DEL: name = "delete_word"; break; |
| 432 | case KeyEvent.KEYCODE_FORWARD_DEL: name = "forward_delete_word"; break; |
| 433 | } |
| 434 | break; |
| 435 | case Editing: |
| 436 | switch (k.getEditing()) |
| 437 | { |
| 438 | case BACKSPACE: name = "delete_word"; break; |
| 439 | } |
| 440 | break; |
| 441 | } |
| 442 | return (name == null) ? k : KeyValue.getKeyByName(name); |
| 443 | } |
| 444 | |
| 445 | private static KeyValue apply_selection_mode(KeyValue k) |
| 446 | { |
no test coverage detected