Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 132101

Summary: [Field Assist] does not work for characters that need AltGr, Ctrl+Alt or Strg+Alt
Product: [Eclipse Project] Platform Reporter: Dani Megert <daniel_megert>
Component: UIAssignee: Susan McCourt <susan>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: P3    
Version: 3.2   
Target Milestone: 3.2 M6   
Hardware: All   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 120237    

Description Dani Megert CLA 2006-03-16 02:11:46 EST
I20060314-1200

The new field assist support does not work for characters that need 'AltGr' key to be typed in.

'AltGr' is a shortcut for  'Ctrl' + 'Alt' or 'Strg' + 'Alt' ('Ctrl' is labelled 'Strg' on some keyboards).

Test Case:
Make sure to change your keyboard layout to one that needs 'AltGr' to enter '\' or '[', for example a Swiss German keyboard layout:
http://en.wikipedia.org/wiki/Keyboard_layout#Swiss_German.2C_Swiss_French.2C_Liechtenstein.2C_Luxembourg

1. apply patch (https://bugs.eclipse.org/bugs/attachment.cgi?id=35919) to
   I20060314-1200
2. start workbench
3. open Find/Replace on a text or Java file
4. make sure 'Regular Expressions' is checked
5. open code assist in the "Find:" entry field i.e. press 'Ctrl' + 'Space'
6. try to type in a character that needs 'AltGr' character, e.g. '[' or \'
==> does not work

NOTE: if testing this on an English keyboard with Swiss German keyboard layout it can be tested by pressing 'Ctrl' + 'Alt' + '[' to enter the '[' character.
Comment 1 Susan McCourt CLA 2006-03-16 15:57:52 EST
Thanks for the instructions on how to test this from an English keyboard.

The problem was triggered by use of the Alt key, which causes an SWT.Traverse event to be sent first.  The popup was always setting the event flags so that Traverse events would never result in a corresponding KeyEvent.  Instead, it should only do this when the Traverse event does not contain a character.

A side effect of this fix is that certain Alt+Character combinations are now propagating key events where they did not before.  For example, choosing Alt+T while the popup is open will cause the popup to be closed and the current line selected in the text editor, whereas before it was ignored.  I verified that the same thing happens in the existing FindReplace implementation, so I assume this is acceptable.

Fixed >20060316.
Comment 2 Susan McCourt CLA 2006-03-16 18:13:03 EST
forgot to mark milestone...M6
Comment 3 Dani Megert CLA 2006-03-17 03:32:33 EST
>A side effect of this fix is that certain Alt+Character combinations are now
>propagating key events where they did not before.
These "certain" Alt+Character combinations are the mnemonics on the control ;-) In the Alt+T case it switches to scope mode which highlights the scope in the editor, expected behavior.
Comment 4 Susan McCourt CLA 2006-03-28 14:40:24 EST
verified on I20060328-0010 on winXP with Swiss German keyboard layout