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 | df49b12193e74f5e2316b10ed06a1121de1ea465 (patch) | |
tree | a5aad6ac057e32b96a9efffadcf88812c6ced4b1 /common/sys | |
parent | 7cae17f7a8dfa1731b2252738aafe0e90cfaf97d (diff) | |
download | pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar.gz pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar.bz2 pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar.lz pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar.xz pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.tar.zst pttbbs-df49b12193e74f5e2316b10ed06a1121de1ea465.zip |
* vtkbd: add support of rxvt style HOME/END
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4892 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'common/sys')
-rw-r--r-- | common/sys/vtkbd.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/common/sys/vtkbd.c b/common/sys/vtkbd.c index c6b0a3f5..58b78419 100644 --- a/common/sys/vtkbd.c +++ b/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; |