X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:in-reply-to:references:date
	:message-id:subject:from:to:content-type; q=dns; s=default; b=Ou
	rv6e3UcTopSK0HsjuvkyrrHd6q8pwiUMqkiVxLCfLCUxdP3BodIfJxBju2ZPIrrq
	XwOa0HFbQO7fchjQlgNyF71O4sXMOyGBS94DUKFwT8hNvbw/Zz3eeEOx0DT0HfeE
	2rinyoCMSecXJDCt2X+LQKuZpUcFqY+LdkZs1P+GQ=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:mime-version:in-reply-to:references:date
	:message-id:subject:from:to:content-type; s=default; bh=feLYLzud
	vEJYai8fiVdM37b72Do=; b=l5uCIMABA6ua3rslzuqtIcm7v5KCo7V7CHEQyJdl
	H2UzZCmRIRaOU9wDjw8JRT7RAoPFkoUKtdpb8x0yGTJlMxSyq7B1zAJyBoGzfpyT
	MWMLNfwHloEO6rWBhJ7FM1/7boa+teYocFL3zfQicDuBvfC+WGHnsUbHfdajvT5S
	WP0=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
X-Spam-SWARE-Status: No, score=-5.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE autolearn=ham version=3.3.1
MIME-Version: 1.0
X-Received: by 10.180.36.205 with SMTP id s13mr20996089wij.31.1366488884122; Sat, 20 Apr 2013 13:14:44 -0700 (PDT)
In-Reply-To: <514B2CEF.3090100@cs.utoronto.ca>
References: <CADd11yXqNrSfOEj4Lmf5KyVUL0TWkosEb=3yNprCyLLk_PK-iQ@mail.gmail.com>	<514B2CEF.3090100@cs.utoronto.ca>
Date: Sat, 20 Apr 2013 21:14:44 +0100
Message-ID: <CAHWeT-ay8NpcVV+z34wEvwd11LkT8L0ib+AiFE5gGmDT_F39VQ@mail.gmail.com>
Subject: Re: mintty and Control-` , Control-~
From: Andy Koppe <andy.koppe@gmail.com>
To: cygwin@cygwin.com
Content-Type: text/plain; charset=UTF-8

On 21 March 2013 15:53, Ryan Johnson wrote:
> On 21/03/2013 11:30 AM, Igor Bukanov wrote:
>>
>> It seems that mintty in Cygwin under Windows-7 does not pass C-`
>> (Control-backtick, in US keyboard this is the key above the tab) nor
>> C-~ (or Control-Shift-backtick) to terminal applications. Any reason
>> for that?
>
> A quick test [3] in shortcut override mode [1] suggests that mintty never
> receives that key combination in the first place.

Nah, it does receive it alright. Well, for me anyay. Shortcut override
mode only affects combinations that mintty normally uses for its own
purposes, for example Shift+Insert for paste.

> However, trying the same test in xterm, I get \000 and \036 for C-` and C-~,
> respectively. Neither of those seems to be correct [2] (\000 is ^@ and \036
> is ^^)

Indeed. Backtick and tilde don't directly correspond to control
characters, so mintty doesn't send anything for them.

What you can do is enable the so-called modifyOtherKeys mode (which
comes from xterm), in which case mintty sends the keycodes specified
on the following page for combinations that don't have a standard
keycode:

http://www.leonerd.org.uk/hacks/fixterms/

The following will enable modifyOtherKeys mode level 1:

$ echo -ne '\e[>4;1m'

There's also a level 2, in which those special keycodes are sent even
for standard combinations such as Ctrl+letter.

$ echo -ne '\e[>4;2m'

> but it's still odd that xterm can receive key codes that mintty misses.

I guess I decided not to support those keycodes for Ctrl+` and Ctrl+~
because they're not intuitive and they just send the same as Ctrl+@
and Ctrl+^ (and also Ctrl+Space and Ctrl+Enter) anyway.

In order to make them useful without enabling modifyOtherKeys mode,
how about if Ctrl combinations with backtick (ASCII 0x60), opening and
closing brace (0x7B and 0x7D), pipe (0x7C), and tilde (0x7E) were
mapped to C1 control characters (in the U+0080 to U+009E range).

Incidentally, on US and UK keyboards (and others) that's what already
happens for the braces and pipe symbol, because for example the pipe
symbol is typed with Shift+\, and mintty maps Ctrl+Shift+\ to U+009C
as explained at http://code.google.com/p/mintty/wiki/Keycodes#Ctrl.

I hope I've suitably confused matters now.

Andy

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

