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

From: Fabian Homborg <fhomborg_AT_gmail.com>
Date: Wed, 02 Sep 2015 19:00:19 +0200

Greg Reagle <greg.reagle_AT_umbc.edu> writes:

> On 09/02/2015 12:21 PM, Greg Reagle wrote:
>> I've been reading this conversation with interest. I tried different shells with xterm versus st.
>>
>> On 09/02/2015 11:29 AM, Fabian Homborg wrote:
>>> If you launch fish in { konsole, xterm, gnome-terminal, linux in-kernel
>>> VTs, iTerm2, ... } your keys work, without smkx.
>>>
>>> If you launch fish in st, your keys don't, until you do "tput smkx".
>>
>> I confirm that this is true on my computer: for the shells fish, bash, ksh, and mksh, in xterm, the Delete key works; whereas in st it doesn't work without tput smkx.
>>
>> However, with zsh in st, the Delete key works immediately.
>
> Sorry, correction. I mis-reported on ksh. Here are my results:
>
> Delete key
> | | xterm | xterm | st | st |
> | | rmkx | smkx | rmkx | smkx |
> |------+-------+-------+-------+-------|
> | zsh | works | works | works | works |
> |------+-------+-------+-------+-------|
> | bash | works | works | no-op | works |
> | mksh | works | works | no-op | works |
> | tcsh | works | works | no-op | works |
> |------+-------+-------+-------+-------|
> | fish | works | works | '[P' | works |
> | ksh | '~' | '~' | '~' | '~' |
>
>
> The anomaly of '[P' with fish might be fixed in a later version. I am running fish, version 2.1.2-1256-g64af63b.

That's why we are discussing this.

zsh doesn't work for me either, and they have an entry in their FAQ that
mentions adding configuration

From the zsh 5.1 FAQ:

> It should be noted that the `O' / `[' confusion can occur
> with other keys such as Home and End. Some systems let you query
> the key sequences sent by these keys from the system's terminal
> database, terminfo. Unfortunately, the key sequences given there
> typically apply to the mode that is not the one zsh uses by default (it's
> the "application" mode rather than the "raw" mode). Explaining the use
> of terminfo is outside the scope of this FAQ, but if you wish to use the
> key sequences given there you can tell the line editor to turn on
> "application" mode when it starts and turn it off when it stops:
>
> function zle-line-init () { echoti smkx }
> function zle-line-finish () { echoti rmkx }
> zle -N zle-line-init
> zle -N zle-line-finish

Are you sure your distribution doesn't already add that?

Received on Wed Sep 02 2015 - 19:00:19 CEST

This archive was generated by hypermail 2.3.0 : Wed Sep 02 2015 - 19:12:08 CEST