GNOME Bugzilla – Bug 616464
Correct the issues with Java keyboardEvents
Last modified: 2010-09-20 10:51:59 UTC
1. Java doesn't use the same hw_code as gdk 2. Java Atk Wrapper translates punctuation marks from the printable symbol (which we want and need) into a keyname. We should try to convert the Java hw_code into the gdk equivalent. And we should hack around the Java Atk Wrapper hack until we can get that hack removed because it was not needed in the first place. :-/ This bug depends on bug 616459 because we need its functionality in place first.
Created attachment 159300 [details] [review] proposed patch This works for me. I have verified that: * the hw_code field is consistent with what we see for the same keyboardEvent in Gedit * that the event_string field is once again the expected printable character. * punctuation characters are now echoed properly (whereas they weren't being echoed before) * Commands continue to work (I even bound new keybindings which included punctuation) The one other thing I want to verify is that these changes are also compatible with the pre-hacked Java Atk Wrapper, which means I need to find a system (or a boot environment) which has it. I think this is worth doing for a couple of reasons: 1. Backward compatibility for Orca users who run Orca from git master but an older version of GNOME. 2. My intent is to ask (again) that Ke remove the hack he had added on our behalf, presumably at someone's request. We need to be especially sure that he can do so safely.
I have just verified that the patch I've attached to this bug is backwards compatible with the pre-punctuation hack version of Java Atk Wrapper, using build 132 of OpenSolaris.
Alex, even though this is specific to the Java toolkit script, it builds upon/uses the KeyboardEvent changes. Therefore, if you wouldn't mind, I'd appreciate a review. Thanks!
Comment on attachment 159300 [details] [review] proposed patch I have since updated Orca's regression tests for Java (make them current and use assertions to automate pass/fail). Then I did a before/after comparison using the patch I've proposed here. My patch does not introduce any regressions, and it is limited to the Java toolkit script. Therefore, I've gone ahead and committed it so that we can move forward on tackling other Java+Orca bugs.