Hi Thomas,

On Jan 30 21:59, Thomas Wolff via Cygwin wrote:
> 
> Am 28.01.2025 um 09:56 schrieb Corinna Vinschen via Cygwin:
> > On Jan 28 00:50, Thomas Wolff via Cygwin wrote:
> > > Am 27.01.2025 um 12:17 schrieb Takashi Yano via Cygwin:
> > > > Hi Thomas,
> > > > 
> > > > A few days ago, Corinna asked me to check a problem of TTY.
> > > > The problem is as follows.
> > > > 
> > > > Reproduce steps:
> > > > (1) Open mintty.
> > > > (2) Open another mintty.
> > > > (3) Place the second mintty window over the first one.
> > > > (4) Hold ctrl key down.
> > > > (5) Press 'd' key while holding ctrl key. The second mintty
> > > >       window will be closed. Keep ctrl key still hold down.
> > > > (6) Now the first mintty window is focused. Then press 'd' key
> > > >       while holding ctrl key down.
> > > > (7) The first mintty window will not logout but displays 'd'.
> > > > 
> > > > I checked the pty and found the pty in the first mintty
> > > > receives just 'd' but not Ctrl-D from mintty. In other words,
> > > > fhandler_pty_master::write() is called with 'd'. So I suspect it
> > > > might be a problem of mintty. Therefore, I tried old version
> > > > of mintty. The results are:
> > > > 
> > > > ...
> > > > 
> > > Hi Takashi,
> > > sorry this was attributed to pty, it is an issue of mintty I was aware
> > > of which appeared in 3.7.2.
> > > More precisely, it slipped in with
> > > be73970877a99548aeeab60a2572ffb04b695066 "revise AltGr handling to
> > > support flexible right-Alt+left-Ctrl combinations (#1266)", as a
> > > trade-off for what I meant to be a final fix for control modifier
> > > handling. I guess I hadn't considered it serious enough to reopen the
> > > issue for another workaround. To be reconsidered...
> > I just had a look into that commit and saw the description of a hidden
> > option OldAltGrDetection right at the start.  Looks like
> > OldAltGrDetection=2 is a temporary workaround for the problem.  What's
> > the drawback of using it?
> I've uploaded a fix to the github repository and tried to find an answer
> to your question but couldn't yet...
> Some background information: root cause of the trouble is Windows'
> insane handling of the AltGr modifier and its failure to assign a
> distinct virtual keycode to it. Instead it provides left-Control and
> right-Alt key events, both with the same timestamp. That alone is a bit
> tricky to detect as both Control and Alt are modifiers on their own.
> Worse, software handling of AltGr detection or (in the case of remote
> desktop software) generation often deviates from this scheme and even
> Windows' own onscreen keyboard is buggy about this. Mintty has a number
> of workarounds to handle that. Also, basically in a terminal emulator
> the expectation is to handle all of Control, Alt etc and also their
> combinations properly. For a example, on a keyboard where AltGr+q is
> '@', Control+AltGr+q should be ^@, Alt+AltGr+q should be ESC @, and
> Control+Alt+AltGr+q should be ESC ^@. All this is accomplished by
> mintty. Together with the workarounds mentioned above, this is a
> delicate area and I hope the fix found now interworks well with all such
> software.
> Thomas

Thanks for your description.  I'm running mintty with OldAltGrDetection=2
for a couple of days now and didn't have any problems.  I assume the
complicated detection cases you're working on don't show up in my workflow.


Corinna

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

Reply via email to