ready for #4
This commit is contained in:
parent
6f4fd2f4d0
commit
09920200e8
24
ke/main.c
24
ke/main.c
|
@ -27,6 +27,9 @@ enum KeyPress {
|
||||||
ARROW_DOWN,
|
ARROW_DOWN,
|
||||||
ARROW_LEFT,
|
ARROW_LEFT,
|
||||||
ARROW_RIGHT,
|
ARROW_RIGHT,
|
||||||
|
DEL_KEY,
|
||||||
|
END_KEY,
|
||||||
|
HOME_KEY,
|
||||||
PG_UP,
|
PG_UP,
|
||||||
PG_DN,
|
PG_DN,
|
||||||
};
|
};
|
||||||
|
@ -125,6 +128,8 @@ is_arrow_key(int16_t c)
|
||||||
case CTRL_KEY('b'):
|
case CTRL_KEY('b'):
|
||||||
case PG_UP:
|
case PG_UP:
|
||||||
case PG_DN:
|
case PG_DN:
|
||||||
|
case HOME_KEY:
|
||||||
|
case END_KEY:
|
||||||
return 1;
|
return 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -152,8 +157,13 @@ get_keypress()
|
||||||
return c;
|
return c;
|
||||||
if (seq[2] == '~') {
|
if (seq[2] == '~') {
|
||||||
switch (seq[1]) {
|
switch (seq[1]) {
|
||||||
|
case '1': return HOME_KEY;
|
||||||
|
case '2': return END_KEY;
|
||||||
|
case '3': return DEL_KEY;
|
||||||
case '5': return PG_UP;
|
case '5': return PG_UP;
|
||||||
case '6': return PG_DN;
|
case '6': return PG_DN;
|
||||||
|
case '7': return HOME_KEY;
|
||||||
|
case '8': return END_KEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -162,11 +172,18 @@ get_keypress()
|
||||||
case 'B': return ARROW_DOWN;
|
case 'B': return ARROW_DOWN;
|
||||||
case 'C': return ARROW_RIGHT;
|
case 'C': return ARROW_RIGHT;
|
||||||
case 'D': return ARROW_LEFT;
|
case 'D': return ARROW_LEFT;
|
||||||
|
case 'F': return END_KEY;
|
||||||
|
case 'H': return HOME_KEY;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* nada */ ;
|
/* nada */ ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (seq[0] == 'O') {
|
||||||
|
switch (seq[1]) {
|
||||||
|
case 'F': return END_KEY;
|
||||||
|
case 'H': return HOME_KEY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0x1b;
|
return 0x1b;
|
||||||
|
@ -239,6 +256,13 @@ move_cursor(int16_t c)
|
||||||
move_cursor(c == PG_UP ? ARROW_UP : ARROW_DOWN);
|
move_cursor(c == PG_UP ? ARROW_UP : ARROW_DOWN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case HOME_KEY:
|
||||||
|
editor.curx = 0;
|
||||||
|
break;
|
||||||
|
case END_KEY:
|
||||||
|
editor.curx = editor.cols - 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue