chapter4
This commit is contained in:
parent
420a188baa
commit
5e21cccadc
21
kilo.c
21
kilo.c
@ -21,6 +21,9 @@ enum editorKey
|
|||||||
ARROW_RIGHT,
|
ARROW_RIGHT,
|
||||||
ARROW_UP,
|
ARROW_UP,
|
||||||
ARROW_DOWN,
|
ARROW_DOWN,
|
||||||
|
DEL_KEY,
|
||||||
|
HOME_KEY,
|
||||||
|
END_KEY,
|
||||||
PAGE_UP,
|
PAGE_UP,
|
||||||
PAGE_DOWN
|
PAGE_DOWN
|
||||||
};
|
};
|
||||||
@ -101,10 +104,15 @@ int editorReadKey()
|
|||||||
{
|
{
|
||||||
switch (seq[1])
|
switch (seq[1])
|
||||||
{
|
{
|
||||||
|
case '1': return HOME_KEY;
|
||||||
|
case '3': return DEL_KEY;
|
||||||
|
case '4': return END_KEY;
|
||||||
case '5':
|
case '5':
|
||||||
return PAGE_UP;
|
return PAGE_UP;
|
||||||
case '6':
|
case '6':
|
||||||
return PAGE_DOWN;
|
return PAGE_DOWN;
|
||||||
|
case '7': return HOME_KEY;
|
||||||
|
case '8': return END_KEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,8 +128,15 @@ int editorReadKey()
|
|||||||
return ARROW_RIGHT;
|
return ARROW_RIGHT;
|
||||||
case 'D':
|
case 'D':
|
||||||
return ARROW_LEFT;
|
return ARROW_LEFT;
|
||||||
|
case 'H': return HOME_KEY;
|
||||||
|
case 'F': return END_KEY;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (seq[0] == 'O') {
|
||||||
|
switch (seq[1]) {
|
||||||
|
case 'H': return HOME_KEY;
|
||||||
|
case 'F': return END_KEY;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return '\x1b';
|
return '\x1b';
|
||||||
}
|
}
|
||||||
@ -308,6 +323,12 @@ void editorProcessKeypress()
|
|||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
break;
|
break;
|
||||||
|
case HOME_KEY:
|
||||||
|
E.cx = 0;
|
||||||
|
break;
|
||||||
|
case END_KEY:
|
||||||
|
E.cx = E.screencols - 1;
|
||||||
|
break;
|
||||||
case PAGE_UP:
|
case PAGE_UP:
|
||||||
case PAGE_DOWN:
|
case PAGE_DOWN:
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user