46 lines
1.8 KiB
Diff
46 lines
1.8 KiB
Diff
--- AGReader/Sources/Input.c.keys 2006-05-27 12:01:05.000000000 +0200
|
|
+++ AGReader/Sources/Input.c 2006-05-28 12:02:06.000000000 +0200
|
|
@@ -163,7 +163,11 @@
|
|
{
|
|
static char *Keys[] = {
|
|
"OA", "OB", "OC","OD", /* Cursor keys */
|
|
- "[5~","[6~","[H","[F",NULL /* PgDown, PgUp, End, Home */
|
|
+ "[5~","[6~","[H","[F", /* PgDown, PgUp, End, Home */
|
|
+ "[1~","[4~","OH","OF", /* 2x Alternative End, Home */
|
|
+ "[11~","[12~", "[13~", /* F1, F2, F3 */
|
|
+ "OP" ,"OQ", "OR", /* Alternative F1, F2, F3 */
|
|
+ "[[A","[[B","[[C", NULL /* Linux console F1, F2, F3 */
|
|
};
|
|
static char *StrNode[] = {
|
|
"help", "index", "table of content"
|
|
@@ -178,7 +182,9 @@
|
|
/* Get a single char from stdin */
|
|
*p = getchr();
|
|
/* A escape char indicates beginning of command */
|
|
- if(*p == '\033') *(p=buffer) = '\033'; *++p = 0;
|
|
+ if(*p == '\033') *(p=buffer) = '\033';
|
|
+
|
|
+ *++p = 0;
|
|
|
|
/* Special sequence ? */
|
|
if( buffer[0]=='\033' )
|
|
@@ -202,6 +208,19 @@
|
|
case 5: scroll_vert(&terminfo, terminfo.height-2); break;
|
|
case 6: scroll_vert(&terminfo, -0x7fff); break;
|
|
case 7: scroll_vert(&terminfo, 0x7fff); break;
|
|
+ case 8: scroll_vert(&terminfo, -0x7fff); break;
|
|
+ case 9: scroll_vert(&terminfo, 0x7fff); break;
|
|
+ case 10: scroll_vert(&terminfo, -0x7fff); break;
|
|
+ case 11: scroll_vert(&terminfo, 0x7fff); break;
|
|
+ case 12: p[-1] = '1'; goto singleton;
|
|
+ case 13: p[-1] = '2'; goto singleton;
|
|
+ case 14: p[-1] = '3'; goto singleton;
|
|
+ case 15: p[-1] = '1'; goto singleton;
|
|
+ case 16: p[-1] = '2'; goto singleton;
|
|
+ case 17: p[-1] = '3'; goto singleton;
|
|
+ case 18: p[-1] = '1'; goto singleton;
|
|
+ case 19: p[-1] = '2'; goto singleton;
|
|
+ case 20: p[-1] = '3'; goto singleton;
|
|
}
|
|
p=buffer;
|
|
} else goto singleton;
|