public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Andy Koppe <andy.koppe@gmail.com>
To: cygwin@cygwin.com
Subject: Re: mintty and modifier keys
Date: Thu, 19 Jul 2012 19:06:00 -0000	[thread overview]
Message-ID: <CAHWeT-YT65rrRD9mq+8AJTeGt0C5BPbC--gdF7ruaz-X+sk5uw@mail.gmail.com> (raw)
In-Reply-To: <500829BD.3010108@cs.utoronto.ca>

On 19 July 2012 16:37, Ryan Johnson wrote:
> Hi all (mostly Andy),
>
> I notice that mintty 1.1 handles certain key combinations differently than
> xterm:
>
> ctrl+enter produces 0x1e (RS) vs. CR in xterm
> alt+enter produces ESC CR vs. nothing at all in xterm
>
> ctrl+shift+<letter> emits the unicode C2 control codepoints (0xc281 through
> 0xc29a); xterm emits the C0 control value as if shift were unpressed.
>
> So, two questions:
> 1. Is there a particular reason for this behavior?

Yes, I tried to make as many key combinations as reasonably possible
available to applications without having to enable a special mode. I
chose ^^ (0x1e) for Ctrl+Enter rather than a multi-character code so
as to be able to use it in stty settings. Similarly, Ctrl+Backspace
sends ^_ (0x1f).

> Perhaps rxvt or some other non-xterm terminal emulator does it?

Nope, they're mintty-specific.

> 2. Is there documentation somewhere of what convention mintty follows for
> the various special cases?

Yep:

http://code.google.com/p/mintty/wiki/Keycodes#Ctrl
http://code.google.com/p/mintty/wiki/Keycodes#Special_keys

See also this on how those keycodes could be put to use in the stty settings:

http://code.google.com/p/mintty/wiki/Tips#Terminal_line_settings

> (these questions are partly triggered by frustration at shift+enter not
> working, which lead to me finding a reasonably sane proposal to fix these
> kinds of terminal woes [1]; I was surprised to find that mintty can already
> distinguish some key presses that xterm can't)
>
> [1] www.leonerd.org.uk/hacks/fixterms/

Hmm, that basically describes xterm's "modifyOtherKeys" mode, which
mintty supports too. This can be enabled with the sequence "\e[>4;1m".
(That's for level 1. There's also level 2, enabled with "\e[>4;2m",
where the suggested CSI u keycodes are sent even for Ctrl+letter
combinations.)

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

  parent reply	other threads:[~2012-07-19 19:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-19 15:38 Ryan Johnson
2012-07-19 16:56 ` Aaron Schneider
2012-07-19 17:20   ` Christopher Faylor
2012-07-19 19:06 ` Andy Koppe [this message]
2012-07-19 20:32   ` Ryan Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHWeT-YT65rrRD9mq+8AJTeGt0C5BPbC--gdF7ruaz-X+sk5uw@mail.gmail.com \
    --to=andy.koppe@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).