Age | Commit message (Collapse) | Author |
|
Since there isn't any terminfo capability for control and meta modifiers for
arrows keys it is necessary use the same that almost terminal emulators use,
because there are a lot of programs which have these codes hardcoded.
This cause also that shift combinations are also changed, but in this case
this is not a problem since there are terminfo capabilities for them. After
this patch shift-up and shift-down continue not working in emacs with
TERM=st, but they work with TERM=xterm, so it is possible some other changes
are necessary in the terminfo entry.
---
config.def.h | 16 ++++++++++++----
st.info | 8 ++++----
2 files changed, 16 insertions(+), 8 deletions(-)
|
|
Usually the arrow keys generate the ANSI sequence which terminal will
understand like a movement, so it is not necessary any dealing for them, the
program can not know if the sequence is generate for a echo key or directly
from the program. If you need really know if the key was pressed then you
need activate the keypad mode where the keys will generate a special code
for each keypad key.
The terminfo capabilities kcub1, kcud1, kcuf1 and kcuu1 are used for this
keypad code, not for the sequence generate in the ansi mode.
---
st.info | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
Keypad mode is used for detecting when keys in the auxiliary keypad are
pressed, while cursor mode is used for detecting when a cursor is pressed,
but they are different modes.
St was mixing both modes and DECPAM and DECPNM modified the cursor mode, and
this was incorrect.
---
st.c | 5 +++--
st.info | 4 ++--
2 files changed, 5 insertions(+), 4 deletions(-)
|
|
charsets.
|
|
|
|
|
|
|
|
|
|
|
|
Taken from the description:
When tput init is executed the list of task performed are (taken from
terminfo(5)):
run the program
iprog
output is1 is2
set the margins using
mgc, smgl and smgr
set tabs using
tbc and hts
print the file
if
and finally
output is3.
When reset is executed, a more stronger initialization process is performed,
so the terminal can return from an unknown state. rs1, rs2 and rs3 are used
in this case instead of
using is1, is2 and is3.
This patch makes is2 = rs2, resets insert mode and set normal keypad
mode. For rs1 it performs a full initilization using ^[c.
|
|
|
|
---
st.info | 2 ++
1 file changed, 2 insertions(+)
|
|
|
|
This sequence clears tab stops in the terminal. If the argument is not present
or is zero, then removes the tab stop of the current horizontal position. If
the argument is 3 then removes all the tab stops of the terminal. It was
necessary modify the terminfo entry tbc, because it has \E[2g instead of the
correct \E[3g.
Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
---
st.c | 12 ++++++++++++
st.info | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
|
|
|
|
|
|
|
|
|
|
|
|
(thx Magnus Leuthner)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|