diff options
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | busybox.def.h | 2 | ||||
-rw-r--r-- | cmdedit.c | 15 | ||||
-rw-r--r-- | shell/cmdedit.c | 15 |
4 files changed, 32 insertions, 4 deletions
@@ -27,9 +27,7 @@ BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z") # eg: `make DODEBUG=true tests' DODEBUG = false -# If you want a static binary, turn this on. I can't think -# of many situations where anybody would ever want it static, -# but... +# If you want a static binary, turn this on. DOSTATIC = false # This will choke on a non-debian system diff --git a/busybox.def.h b/busybox.def.h index b05f17a68..cb864120b 100644 --- a/busybox.def.h +++ b/busybox.def.h @@ -29,7 +29,7 @@ #define BB_FREE //#define BB_FREERAMDISK //#define BB_FSCK_MINIX -//#define BB_GREP +#define BB_GREP #define BB_GUNZIP #define BB_GZIP //#define BB_HALT @@ -281,6 +281,14 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd, if ((ret = read(inputFd, &c, 1)) < 1) return ret; + fprintf(stderr, "\n\nkey=%d (%c)\n\n", c, c); + /* Go to the next line */ + xwrite(outputFd, "\n", 1); + /* Rewrite the prompt */ + xwrite(outputFd, prompt, strlen(prompt)); + /* Rewrite the command */ + xwrite(outputFd, parsenextc, len); + switch (c) { case 1: /* Control-a -- Beginning of line */ @@ -514,10 +522,17 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd, len--; } break; + + //case '5': case '6': /* pgup/pgdown */ + + case '7': + /* rxvt home */ case '1': /* Home (Ctrl-A) */ input_home(outputFd, &cursor); break; + case '8': + /* rxvt END */ case '4': /* End (Ctrl-E) */ input_end(outputFd, &cursor, len); diff --git a/shell/cmdedit.c b/shell/cmdedit.c index b3e7fd58c..2c16276db 100644 --- a/shell/cmdedit.c +++ b/shell/cmdedit.c @@ -281,6 +281,14 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd, if ((ret = read(inputFd, &c, 1)) < 1) return ret; + fprintf(stderr, "\n\nkey=%d (%c)\n\n", c, c); + /* Go to the next line */ + xwrite(outputFd, "\n", 1); + /* Rewrite the prompt */ + xwrite(outputFd, prompt, strlen(prompt)); + /* Rewrite the command */ + xwrite(outputFd, parsenextc, len); + switch (c) { case 1: /* Control-a -- Beginning of line */ @@ -514,10 +522,17 @@ extern int cmdedit_read_input(char* prompt, int inputFd, int outputFd, len--; } break; + + //case '5': case '6': /* pgup/pgdown */ + + case '7': + /* rxvt home */ case '1': /* Home (Ctrl-A) */ input_home(outputFd, &cursor); break; + case '8': + /* rxvt END */ case '4': /* End (Ctrl-E) */ input_end(outputFd, &cursor, len); |