diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-09-29 11:35:53 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2009-09-29 11:35:53 +0800 |
commit | 9500e8d6215f584f7c6a41d56d530e3c4c237dd2 (patch) | |
tree | b9da922fe6f902b6e328be2f10cbf44493b59ae4 | |
parent | 4e4b3afffb7b8852797007348715a5287fba05a7 (diff) | |
download | pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar.gz pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar.bz2 pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar.lz pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar.xz pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.tar.zst pttbbs-9500e8d6215f584f7c6a41d56d530e3c4c237dd2.zip |
* vtkbd: add support of rxvt style HOME/END
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@4892 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/common/sys/vtkbd.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/pttbbs/common/sys/vtkbd.c b/pttbbs/common/sys/vtkbd.c index c6b0a3f5..58b78419 100644 --- a/pttbbs/common/sys/vtkbd.c +++ b/pttbbs/common/sys/vtkbd.c @@ -35,6 +35,7 @@ * http://invisible-island.net/xterm/ctlseqs/ctlseqs.html * http://invisible-island.net/xterm/xterm.faq.html * http://www.vim.org/htmldoc/term.html + * http://wiki.archlinux.org/index.php/Why_don%27t_my_Home_and_End_keys_work_in_terminals%3F * http://yz.kiev.ua/www/etc/putty/Section3.5.html * PuTTY Source < terminal.c, term_key() > * Termcap @@ -80,6 +81,7 @@ * - (SCO) End/PgDn/Home/PgUp/Ins <Esc> [ <FGHIL> * - (SCO) Del <0x7F> * - (Xterm) HOME/END <Esc> <[O> <HF> + - (rxvt) HOME/END <Esc> [ <78> ~ * - (putty-rxvt) HOME <Esc> [ H * - (putty-rxvt) END <Esc> O w * - (Old Term?) Home/Ins/Del/End/PgUp/PgDn: <Esc> [ <214536> ~ // not supported @@ -260,6 +262,15 @@ vtkbd_process(int c, VtkbdCtx *ctx) ctx->esc_arg = KEY_DEL + (c - '3'); return KEY_INCOMPLETE; + case '7': + ctx->state = VKSTATE_TLIDE; + ctx->esc_arg = KEY_HOME; + return KEY_INCOMPLETE; + case '8': + ctx->state = VKSTATE_TLIDE; + ctx->esc_arg = KEY_END; + return KEY_INCOMPLETE; + case 'Z': ctx->state = VKSTATE_NORMAL; return KEY_STAB; |