version 1.9, 2011/03/27 20:31:25 |
version 1.10, 2011/06/23 10:02:49 |
|
|
* |
* |
* Rather than parsing them, just match against a table. |
* Rather than parsing them, just match against a table. |
* |
* |
* There are two forms for F1-F4 (\\033O_P or \\033[1;_P). We accept either but |
* There are three forms for F1-F4 (\\033O_P and \\033O1;_P and \\033[1;_P). |
* always output the latter (it comes first in the table). |
* We accept any but always output the latter (it comes first in the table). |
*/ |
*/ |
|
|
int xterm_keys_match(const char *, const char *, size_t); |
int xterm_keys_match(const char *, const char *, size_t); |
|
|
|
|
const struct xterm_keys_entry xterm_keys_table[] = { |
const struct xterm_keys_entry xterm_keys_table[] = { |
{ KEYC_F1, "\033[1;_P" }, |
{ KEYC_F1, "\033[1;_P" }, |
|
{ KEYC_F1, "\033O1;_P" }, |
{ KEYC_F1, "\033O_P" }, |
{ KEYC_F1, "\033O_P" }, |
{ KEYC_F2, "\033[1;_Q" }, |
{ KEYC_F2, "\033[1;_Q" }, |
|
{ KEYC_F2, "\033O1;_Q" }, |
{ KEYC_F2, "\033O_Q" }, |
{ KEYC_F2, "\033O_Q" }, |
{ KEYC_F3, "\033[1;_R" }, |
{ KEYC_F3, "\033[1;_R" }, |
|
{ KEYC_F3, "\033O1;_R" }, |
{ KEYC_F3, "\033O_R" }, |
{ KEYC_F3, "\033O_R" }, |
{ KEYC_F4, "\033[1;_S" }, |
{ KEYC_F4, "\033[1;_S" }, |
|
{ KEYC_F4, "\033O1;_S" }, |
{ KEYC_F4, "\033O_S" }, |
{ KEYC_F4, "\033O_S" }, |
{ KEYC_F5, "\033[15;_~" }, |
{ KEYC_F5, "\033[15;_~" }, |
{ KEYC_F6, "\033[17;_~" }, |
{ KEYC_F6, "\033[17;_~" }, |