Re: [dev] [st] Terminal abnormal key codes

From: Fabian Homborg <>
Date: Wed, 02 Sep 2015 14:54:23 +0200

Pickfire <> writes:

> On Tue, Sep 01, 2015 at 04:40:12PM +0200, Roberto E. Vargas Caballero wrote:
>>On Tue, Sep 01, 2015 at 10:22:52PM +0800, Pickfire wrote:
>>> Hi, it seems that st does some terminal codes abnormally[1].
>>> What is the reason for st's key codes to be different from the other
>>> terminals? Is st following some standards?
>>> [1]:
>>Yes, st follows terminfo(5). Every terminal has different keys,
>>so, I don't know what you mean with st using different keys.

Hi, I'm faho from the fish team. _AT_Pickfire: Let me take this over.

Our question is probably better stated as the following:

st seems to e.g. send "[P" for delete instead of the '\E[3;2~' in
terminfo (which fish does use), unless we explicitly do the equivalent
of "tput smkx". This not only applies to delete, but a few other key
combinations as well, like insert or ctrl-up.

Of course this is stated in the FAQ, but the question is _why_ is it
this way and is it possible to change that?

From our perspective st is the only terminal (we've found at least) that
behaves this way - every other term (like xterm, konsole or linux VTs)
seems to not need this and just always sends the sequences specified in

There's two things we can do on our side - do "tput smkx" and "tput
rmkx" either only in st or always (which I don't know if it'll break
stuff elsewhere) or bind both kinds of sequences st sends, neither
solution being _great_.

So: Is there a rationale for that decision and would you consider
changing it?

Thanks for your time,
Fabian Homborg

Received on Wed Sep 02 2015 - 14:54:23 CEST

This archive was generated by hypermail 2.3.0 : Wed Sep 02 2015 - 15:00:10 CEST