This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Alt Gr special characters on german keyboard work only sometimes


Stupid me got it confused. :-)

It was the other way round, XP sent the extra 2 Messages W2K did not.
And it looks like it's the repeat function of windows generating the extra key events. When I simply hold the AltGr key on W2k I get the same amount of messages.

Holger


Holger wrote:
> Meanwhile I'm at another workplace, where I run win2k. Here the Altgr
> key works. I spyed the windows messages and came up with something
> peculiar:  
> 
> w2k: (pressed 3*backslash)
> 
> <00001> 002C029C P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1
> ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 
> <00002> 002C029C P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38
> fExtended:1 fAltDown:1 fRepeat:0 fUp:0 
> <00003> 002C029C P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1
> ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:0 
> <00004> 002C029C P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38
> fExtended:1 fAltDown:1 fRepeat:1 fUp:0 
> <00005> 002C029C P WM_KEYDOWN nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:0 fUp:0 
> <00006> 002C029C P WM_KEYUP nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00007> 002C029C P WM_KEYDOWN nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:0 fUp:0 
> <00008> 002C029C P WM_KEYUP nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00009> 002C029C P WM_KEYDOWN nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:0 fUp:0 
> <00010> 002C029C P WM_KEYUP nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00011> 002C029C P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1
> ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00012> 002C029C P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38
> fExtended:1 fAltDown:0 fRepeat:1 fUp:1 
> 
> see the first 4 messages. apparently w2k sends
> 
> <00001> WM_KEYDOWN nVirtKey:VK_CONTROL ... fAltDown:0 fRepeat:0
> <00002> WM_KEYDOWN nVirtKey:VK_MENU ... fAltDown:1 fRepeat:0
> <00003> WM_KEYDOWN nVirtKey:VK_CONTROL ... fAltDown:1 fRepeat:1
> <00004> WM_KEYDOWN nVirtKey:VK_MENU ...fAltDown:1 fRepeat:1
> 
> It looks like it repeats the VK_CONTROL & VK_MENU msgs with altdown
> flag = 1 
> 5 & 6 are the real key that gets pressed 'ß?\'
> 
> 
> 
> while XP sends: (pressed 1*backslash)
> 
> <00001> 005202C4 P WM_KEYDOWN nVirtKey:VK_CONTROL cRepeat:1
> ScanCode:1D fExtended:0 fAltDown:0 fRepeat:0 fUp:0 
> <00002> 005202C4 P WM_KEYDOWN nVirtKey:VK_MENU cRepeat:1 ScanCode:38
> fExtended:1 fAltDown:1 fRepeat:0 fUp:0 
> <00003> 005202C4 P WM_KEYDOWN nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:0 fUp:0 
> <00004> 005202C4 P WM_KEYUP nVirtKey:00DB cRepeat:1 ScanCode:0C
> fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00005> 005202C4 P WM_SYSKEYUP nVirtKey:VK_CONTROL cRepeat:1
> ScanCode:1D fExtended:0 fAltDown:1 fRepeat:1 fUp:1 
> <00006> 005202C4 P WM_KEYUP nVirtKey:VK_MENU cRepeat:1 ScanCode:38
> fExtended:1 fAltDown:0 fRepeat:1 fUp:1 
> 
> here the keypress of 'ß?\' is sent directly after only 2 messages:
> 
> <00001> WM_KEYDOWN nVirtKey:VK_CONTROL ... fAltDown:0 fRepeat:0
> <00002> WM_KEYDOWN nVirtKey:VK_MENU ... fAltDown:1 fRepeat:0
> <00003> WM_KEYDOWN nVirtKey:00DB ... fAltDown:1 fRepeat:0 fUp:0
> <00004> WM_KEYUP nVirtKey:00DB ... fAltDown:1 fRepeat:1 fUp:1
> <00005> WM_SYSKEYUP nVirtKey:VK_CONTROL ...
> <00006> WM_KEYUP nVirtKey:VK_MENU ...
> 
> with the first 2 like the first 2 messages 2k sends. Therefore the
> keydown message with altdown=1 for VK_CONTROL and VK_MENU are
> missing.  
> 
> Could it be that cygwin is confused by the missing messages?
> 
> Holger
> 
> 
> 
> Holger Böhnke wrote:
>> Hi Alexander
>> 
>>> This seem to be the problem. We had some reports that alt-gr does
>>> not 
>>> work properly on (some) WinXP machines. Do you have WinXP?
>> 
>> Yes, XP Prof., no Service Pack
>> 
>> c:\>ver
>> Microsoft Windows XP [Version 5.1.2600]
>> 
>>> There must be a subtile difference. Maybe with the timestamp of the
>>> message. Or the "Control down" and "alt down" messages come in
>>> reversed order. I don't have WinXP and can't test this.
>> 
>> I attached the logfile of spy++
>> 
>> I pushed:
>> altgr (holding down) - 3x backsl - release altgr : out \\\
>> altgr (holding down) - 3x backsl - release altgr : out \\\
>> altgr (holding down) - 3x backsl - release altgr : out <nothing>
>> 
>> bye
>> 
>> Holger


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]