When I connect to my Debian Wheezy Beta 4 server with PuTTY 0.62 on Windows 7 I'm experiencing a problem. My login shell is Zsh and it is configured to handle ALT + DEL for the action
delete-word (deletes one word to the right of the cursor). The line in configuration looks like this:
bindkey -e "\e[3;3~" kill-word
The binding works nicely when connected via the
ssh command from a
gnome-terminal. But when I connect via PuTTY this action is not executed. Instead a
[3~ is put out to the console. As far as I see it this is the unescaped sequence for the DEL key in
xterm. For a while I thought PuTTY would simply ignore the ALT modifier and send only DEL, but if that would be the case, the action bound to DEL would have been executed as if I pressed only that key.
So I guess PuTTY is using some sequence for the key combination which I do not know and which makes to output
[3~ appear on screen. How can I find out which sequence PuTTY sends to configure Zsh to handle that correctly?
Update: It seems that PuTTY is supposed to ignore all ALT modifier keystrokes in its current implementation. Here is an excerpt from the source code file
TERMINAL.C which deletes the ALT flag from the modifiers variable:
/* * Alt is only used for Alt+keypad, which isn't supported yet, so * ignore it. */ modifiers &= ~PKM_ALT;
That doesn't explain to me why pressing ALT + DEL doesn't have the same effect as pressing just DEL. Also it doesn't explain why the default key combination for the
kill-word action in Zsh (ALT + D) works fine.