public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: cygwin@cygwin.com
Subject: Issue with inserting '@' at the command prompt.
Date: Fri, 19 Aug 2011 02:38:00 -0000	[thread overview]
Message-ID: <20110819023740.GL4919@type.famille.thibault.fr> (raw)
In-Reply-To: <20110714124214.GE5619@const>

Samuel Thibault, le Thu 14 Jul 2011 14:42:14 +0200, a écrit :
> Lars Bjørndal, le Thu 14 Jul 2011 12:56:21 +0200, a écrit :
> > BRLTTY has a cut & paste facility. It sometimes doesn't paste all
> > characters inside cygwin. Pasting an att sign into a shell prompt, the
> > terminal beeps, and no character is written. Doing the same thing
> > after exiting bash, but still with BRLTTY running and in a cmd
> > session, the att sign is printed.
> 
> I don't have the time to investigate now, but I can say that depending
> on whether it could open the terminal through CONIN$, brltty uses
> WriteConsoleInputW (or WriteConsoleInputA if not available) or SendInput
> for this.

In the case at stake it is WriteConsoleInputW. Let me explain a simpler
case (pasting is the same)

- the user presses '@' on his braille keyboard (ascii 0x40).
- brltty wants to synthesize it.
- brltty calls VkKeyScanW('@') to get the corresponding virtual key,
  0x0630 on an azerty keyboard, which means altgr (controlkeystate 1) +
  virtualkey 0x30
- brltty calls MapVirtualKey(vk, 0) to get the corresponding scancode,
  0x11 on a standard PC keyboard.
- brltty thus calls WriteConsoleInputW, passing it a KEY_EVENT_RECORD
  structure:
  .bKeyDown = 1,
  .wRepeatCount = 1,
  .wVirtualKeyCode = 0x630,
  .wVirtualScanCode = 0x11,
  .uChar.UnicodeChar = 0x40,
  .dwControlKeyState = 1,

and then the same with bKeyDown = 0.

This correctly inserts an '@' in a plain windows console with the
windows cmd, but with a windows console with the cygwin or mingw shell,
this beeps and does not insert anything.

Any idea?

Samuel

--
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

  reply	other threads:[~2011-08-19  2:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-13 11:42 [Lars Bjørndal] Re: brltty problems with recent snapshots Lars Bjørndal
2011-07-13 12:35 ` Lars Bjørndal
2011-07-13 13:07   ` Corinna Vinschen
2011-07-13 15:37   ` Christopher Faylor
2011-07-13 13:06 ` [Lars Bjørndal] " Corinna Vinschen
2011-07-13 13:37   ` Samuel Thibault
2011-07-13 19:01     ` Corinna Vinschen
2011-07-13 19:25       ` Lars Bjørndal
2011-07-13 20:00         ` Corinna Vinschen
2011-07-14  8:20       ` Lars Bjørndal
2011-07-14 10:16         ` Corinna Vinschen
2011-07-14 10:56           ` Lars Bjørndal
2011-07-14 12:42             ` Samuel Thibault
2011-08-19  2:38               ` Samuel Thibault [this message]
2011-08-19  2:45                 ` Issue with inserting '@' at the command prompt Samuel Thibault
2011-08-19 11:50                 ` Corinna Vinschen
2011-08-19 13:15                   ` Samuel Thibault
2011-08-19 13:51                     ` Corinna Vinschen
2011-08-19 14:07                     ` Samuel Thibault
2011-08-19 15:09                       ` Corinna Vinschen
2011-08-19 15:16                         ` Samuel Thibault
2011-08-19 15:33                           ` Corinna Vinschen

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=20110819023740.GL4919@type.famille.thibault.fr \
    --to=samuel.thibault@ens-lyon.org \
    --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).