(CCed to Dev list) A few weeks ago I started working on a series of patches which would make keypress checks more restrictive in order to prevent the kind of issue you seem to be seeing here. I have been offline for a little while but should be able to continue with the work this week.
A Pivot 1.5.1 release should be coming soon, so if the submitted patches are accepted, they would not show up until a release after that. 2010/7/25 Kamil T. <[email protected]> > > } else if (keyCode == Keyboard.KeyCode.A > && Keyboard.isPressed(commandModifier)) { ... > > checks if a is pressed and if command key is pressed -> on windows > commandModifier is set to Modifier.CTRL inside Platform class. The > problem is that Keyboard.isPressed checks using bitmask, so it > retruns true for the "Ctrl+Left Alt" case which Alt Gr generates. I > think it should check if CTRL is the only modifier pressed at the > moment. Also, pressing for example CTRL+SHIFT+A renders the same > results as CTRL+A while inside native apps (tested on chrome address > bar and notepad) CTRL+SHIFT+A combination does nothing. > > > > W dniu 25 lipca 2010 01:46 użytkownik Kamil T. <[email protected]> > napisał: > > Hi, > > Just by holding CTRL I've got breakpoint with keyCode 17, keyLocation > > LEFT, if I hold right alt, the breakpoint is hit two times, first > > with with keyCode 17, keyLocation LEFT, then with with keyCode 18, > > keyLocation RIGHT. Looks like if I also have 'a' pressed, then I have > > two different messages, ctrl+a followed by right alt + a. > > > > Tried this on ubuntu - behaves normally. I'm clueless. > > > > > > W dniu 24 lipca 2010 19:42 użytkownik Greg Brown <[email protected]> > napisał: > >> Try setting a breakpoint in TerraTextInputSkin#keyPressed() at line > 1230: > >> > >> ... > >> } else if (keyCode == Keyboard.KeyCode.A > >> && Keyboard.isPressed(commandModifier)) { ... > >> > >> > >> On Jul 24, 2010, at 11:21 AM, Kamil T. wrote: > >> > >>> Looks like alt+a is generating selection, when i press it, i have > >>> selectionLength set to full text width, selectionStart set to 0, in > >>> the TextInput.insert(String text) function delete(false) is called > >>> which clears the values (it is the 366th line in the TextInput class). > >>> I don't know where put breakpoint to see where selection is generated, > >>> maybe it confuses alt-a with ctrl-a (select all)? > >>> > >>> regards > >>> Kamil > >>> > >>> > >>> W dniu 24 lipca 2010 16:36 użytkownik Greg Brown <[email protected]> > napisał: > >>>> I'm using J6u20 as well, so it is probably not related to the JRE > version. > >>>> > >>>> Any chance you could try to step through the code to see where it is > failing? > >>>> > >>>> On Jul 24, 2010, at 10:30 AM, Kamil T. wrote: > >>>> > >>>>> Hi, > >>>>> Thank you for fast answer. > >>>>> I'm using latest stable version from the website - 1.5. > >>>>> > >>>>> java: > >>>>> Java Plug-in 1.6.0_20 > >>>>> Using JRE version 1.6.0_20-b02 Java HotSpot(TM) Client VM > >>>>> > >>>>> > >>>>> Windows 7 64bit - ultimate > >>>>> > >>>>> Strange, I was able to reproduce this behavior also inside Kitchen > >>>>> Sink demo. TextArea behaves in the same way for me. > >>>>> Could it be because of java version? > >>>>> > >>>>> br > >>>>> Kamil > >>>>> > >>>>> > >>>>> > >>>>> W dniu 24 lipca 2010 16:13 użytkownik Greg Brown <[email protected]> > napisał: > >>>>>> What Pivot version are you using? In 1.5 and above, I am able to > copy the string "łóżźć" into a TextInput, select the text using the mouse, > and use Command-C (Mac shortcut) to copy it without error. I can also use > the Alt-A combination without a problem: I entered and copied this text from > the Kitchen Sink demo (using the Polish Pro keyboard mappings): "Pivotą". > >>>>>> > >>>>>> I was also unable to reproduce the problem in Windows XP. Could > there possibly be some other problem? > >>>>>> > >>>>>> Greg > >>>>>> > >>>>>> On Jul 24, 2010, at 9:34 AM, Kamil T. wrote: > >>>>>> > >>>>>>> Hello, > >>>>>>> > >>>>>>> My application uses Polish special characters and it looks like > Pivot > >>>>>>> has some problems with them. > >>>>>>> > >>>>>>> In TextInput component, if I write there some special chars, > >>>>>>> copy/paste functionality stops working: > >>>>>>> if I write "łóżźć" inside TextInput, then select text using mouse, > if > >>>>>>> I press Ctrl+C I get: > >>>>>>> > >>>>>>> > >>>>>>> java.lang.IndexOutOfBoundsException > >>>>>>> at > org.apache.pivot.wtk.text.TextNode.getRange(TextNode.java:255) > >>>>>>> at > org.apache.pivot.wtk.TextInput.getSelectedText(TextInput.java:603) > >>>>>>> at org.apache.pivot.wtk.TextInput.copy(TextInput.java:438) > >>>>>>> at > org.apache.pivot.wtk.skin.terra.TerraTextInputSkin.keyPressed(TerraTextInputSkin.java:1249) > >>>>>>> at > org.apache.pivot.wtk.Component$ComponentKeyListenerList.keyPressed(Component.java:514) > >>>>>>> at > org.apache.pivot.wtk.Component.keyPressed(Component.java:2656) > >>>>>>> at > org.apache.pivot.wtk.ApplicationContext$DisplayHost.processKeyEvent(ApplicationContext.java:1217) > >>>>>>> at java.awt.Component.processEvent(Unknown Source) > >>>>>>> at > org.apache.pivot.wtk.ApplicationContext$DisplayHost.processEvent(ApplicationContext.java:655) > >>>>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) > >>>>>>> at java.awt.Component.dispatchEvent(Unknown Source) > >>>>>>> at java.awt.KeyboardFocusManager.redispatchEvent(Unknown > Source) > >>>>>>> at > java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source) > >>>>>>> at > java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source) > >>>>>>> at > java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) > >>>>>>> at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown > Source) > >>>>>>> at java.awt.Component.dispatchEventImpl(Unknown Source) > >>>>>>> at java.awt.Component.dispatchEvent(Unknown Source) > >>>>>>> at java.awt.EventQueue.dispatchEvent(Unknown Source) > >>>>>>> at > java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) > >>>>>>> at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown > Source) > >>>>>>> at > java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) > >>>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > >>>>>>> at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > >>>>>>> at java.awt.EventDispatchThread.run(Unknown Source) > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> Other issue I have is with polish special character "ą" - it's > made > >>>>>>> using right alt+a on the polish programmer keyboard setting. The > >>>>>>> result is that the char is not appended to the text but it replaces > >>>>>>> the whole TextInput text content, "some text" + (alt+a) -> "ą" > >>>>>>> > >>>>>>> > >>>>>>> It's critical for me to get it fixed... > >>>>>>> > >>>>>>> best regards > >>>>>>> Kamil Toszek > >>>>>> > >>>>>> > >>>> > >>>> > >> > >> > > >
