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

Bug 30893

Summary: [Key Bindings] Keybinding service is blocking KeyEvents
Product: [Eclipse Project] Platform Reporter: Randy Hudson <hudsonr>
Component: UIAssignee: Chris McLaren <csmclaren>
Status: RESOLVED DUPLICATE QA Contact:
Severity: blocker    
Priority: P1 CC: ebordeau, Kevin_Haaland, ysaillet
Version: 2.1   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Randy Hudson CLA 2003-02-04 13:43:25 EST
Keybindings are stealing native KeyEvents to SWT Controls.

If I have the GEF Logic example (and only its required plugins), it will 
receive the F2 KeyEvent from a Canvas.  If I then add the JDT to the set of 
plugins, the F2 keysroke is registered as "show tooltip" for the Java Editor.  
The mere presence of this keybinding definition is enough to steal the F2 key 
from the Logic example's Canvas.  The same is true for Control+"/", and lots of 
other combinations.

Additional Keybinding are blocking native windows keystrokes for SWT controls 
required for accessiblility purposes.

Control+UP/DOWN: mapped to scroll editor up/down, but *SHOULD* allow me to 
change the focus in a SWT.MULTI List, Table, or Tree.

Contrl+SPACE: mapped to content assist, but should allow me to toggle the 
selected state of the current Tree/Table/ListItem in an SWT.MULTI List, Table, 
or Tree.
Comment 1 Eric Bordeau CLA 2003-02-04 14:17:22 EST
It seems that the JDT plugin is frequently using a global scope for actions that
only need a text editor scope.  For instance, CTRL-/ is set as global even
though it just comments text.
Comment 2 Randy Hudson CLA 2003-02-04 15:16:35 EST
general desc.:
For two plugins A and B, if plugin A relies on a KeyEvent that is declared as a 
Keybinding in plugin B, plugin A will be broken.
Comment 3 Chris McLaren CLA 2003-02-11 14:18:22 EST
a) randy hudson's last comment is correct, and by design. keybindings always 
take precedence over key events. the widget does not get the keystroke first.

b) duplicate is severity 'major' (not 'blocker'), and its target is RC1

*** This bug has been marked as a duplicate of 29452 ***
Comment 4 Randy Hudson CLA 2003-02-14 15:10:24 EST
*** Bug 30074 has been marked as a duplicate of this bug. ***