Interactive line editing and console scrollback.
(int key)
| 589 | * Interactive line editing and console scrollback. |
| 590 | */ |
| 591 | private static void Console(int key) { |
| 592 | int i; |
| 593 | |
| 594 | switch (key) { |
| 595 | case K_KP_SLASH : |
| 596 | key = '/'; |
| 597 | break; |
| 598 | case K_KP_MINUS : |
| 599 | key = '-'; |
| 600 | break; |
| 601 | case K_KP_PLUS : |
| 602 | key = '+'; |
| 603 | break; |
| 604 | case K_KP_HOME : |
| 605 | key = '7'; |
| 606 | break; |
| 607 | case K_KP_UPARROW : |
| 608 | key = '8'; |
| 609 | break; |
| 610 | case K_KP_PGUP : |
| 611 | key = '9'; |
| 612 | break; |
| 613 | case K_KP_LEFTARROW : |
| 614 | key = '4'; |
| 615 | break; |
| 616 | case K_KP_5 : |
| 617 | key = '5'; |
| 618 | break; |
| 619 | case K_KP_RIGHTARROW : |
| 620 | key = '6'; |
| 621 | break; |
| 622 | case K_KP_END : |
| 623 | key = '1'; |
| 624 | break; |
| 625 | case K_KP_DOWNARROW : |
| 626 | key = '2'; |
| 627 | break; |
| 628 | case K_KP_PGDN : |
| 629 | key = '3'; |
| 630 | break; |
| 631 | case K_KP_INS : |
| 632 | key = '0'; |
| 633 | break; |
| 634 | case K_KP_DEL : |
| 635 | key = '.'; |
| 636 | break; |
| 637 | } |
| 638 | // sfranzyshen -start |
| 639 | if ((key == K_CTRLV && ClientGlobals.keydown[K_CTRL] ) || ((( key == K_INS ) || ( key == K_KP_INS )) && ClientGlobals.keydown[K_SHIFT] )) { |
| 640 | String cbd; |
| 641 | |
| 642 | if (( cbd = Sys.GetClipboardData()) != null) { |
| 643 | int x; |
| 644 | |
| 645 | x = cbd.length(); |
| 646 | |
| 647 | if ( x + ClientGlobals.key_linepos >= MAXCMDLINE ) |
| 648 | x = MAXCMDLINE - ClientGlobals.key_linepos; |
no test coverage detected