Hi, Shashi.
- Do we need to check passed unicode code-point in Robot.java using checkKeycodeArgument(key);? - Can you please clarify how it will work on linux where we will use code-point as a keycode? - It would be good if the names of the parameters will be unified/corrected, for example:
private native void keyEventUnicode(int javaKeyCode, boolean keydown);
"javaKeyCode" - Is it a java key code or a Unicode code-point?

Why the test is manual? Isn't an application should recognize this new functionality automatically? Additionally it would be good to test all key related listeners(keyTyped/keyPressed/keyReleased).

Debug code in awt_Robot.cpp
if(isUnicode) {printf("In unicode func:%d", jkey);


Also I would like to propose an idea for discussion: probably it would be better to create only one Robot#type(codePoint) method? What do you think?

On 26/10/2017 21:39, Shashidhara Veerabhadraiah wrote:
Hi Sergey\Semyon, Please do the review for the below bug.

Thanks and regards,

Shashi

*From:* Shashidhara Veerabhadraiah
*Sent:* Thursday, September 21, 2017 2:14 PM
*To:* Sergey Bylokhov <sergey.bylok...@oracle.com>; Semyon Sadetsky <semyon.sadet...@oracle.com>; awt-dev@openjdk.java.net *Subject:* Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should be able to use extended key code characters as ? ? ?.

Hi All, Please find the updated webrev containing a new test that is added to test out the software changes that were made under this enhancement.

http://cr.openjdk.java.net/~sveerabhadra/8148344/webrev.02/

Thanks and regards,

Shashi

*From:* Shashidhara Veerabhadraiah
*Sent:* Thursday, September 21, 2017 11:37 AM
*To:* Sergey Bylokhov <sergey.bylok...@oracle.com <mailto:sergey.bylok...@oracle.com>>; Semyon Sadetsky <semyon.sadet...@oracle.com <mailto:semyon.sadet...@oracle.com>>; awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net> *Subject:* Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should be able to use extended key code characters as ? ? ?.

Hi Sergey, I was able to input the surrogate pairs and got the required output as shown below:

Below is the output after we input the surrogate pairs:

Thanks and regards,

Shashi

-----Original Message-----
From: Sergey Bylokhov
Sent: Thursday, September 14, 2017 11:33 PM
To: Shashidhara Veerabhadraiah <shashidhara.veerabhadra...@oracle.com <mailto:shashidhara.veerabhadra...@oracle.com>>; Semyon Sadetsky <semyon.sadet...@oracle.com <mailto:semyon.sadet...@oracle.com>>; awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net> Subject: Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should be able to use extended key code characters as ? ? ?.

The java uses UTF16, I guess this new api should use it also, and we should check that the surrogate pairs will be supported.

On 9/14/17 03:56, Shashidhara Veerabhadraiah wrote:

> Hi Sergey, Yes it represents the Unicode code point. The encoding is same as the window characteristic which is UTF 8 as implemented in Java.

 >

 > Thanks and regards,

 > Shashi

 >

 > -----Original Message-----

 > From: Sergey Bylokhov

 > Sent: Wednesday, September 13, 2017 5:22 AM

 > To: Shashidhara Veerabhadraiah

> <shashidhara.veerabhadra...@oracle.com <mailto:shashidhara.veerabhadra...@oracle.com>>; Semyon Sadetsky

> <semyon.sadet...@oracle.com <mailto:semyon.sadet...@oracle.com>>; awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net>

> Subject: Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should be able to use extended key code characters as ? ? ?.

 >

 > Hi, Shashi.

 > One initial question:

> What is an int parameter of these methods means, is it a "Unicode code point"? What encoding utf8/utf16 should be used?

 >

 > On 9/8/17 02:50, Shashidhara Veerabhadraiah wrote:

 >> Hi, I have updated the Webrev to accommodate the comments and here is

 >> the new Webrev:

 >>

 >> http://cr.openjdk.java.net/~sveerabhadra/8148344/webrev.01/

 >>

 >> I have separated the /_Unicode_/ keys input via java robot as a new

 >> set of /_public_/ api’s (this is in similar fashion as how the

 >> platform offers the Unicode keys input into the system) and this has

 >> been tested on all the platforms using the test file similar to the

 >> attached file in the bug. A more proper test file would be put for

 >> review in the subsequent reviews.

 >>

 >> Thanks and regards,

 >>

 >> Shashi

 >>

 >> *From:* Sergey Bylokhov

 >> *Sent:* Wednesday, August 30, 2017 2:33 AM

 >> *To:* Shashidhara Veerabhadraiah

>> <shashidhara.veerabhadra...@oracle.com <mailto:shashidhara.veerabhadra...@oracle.com>>

 >> *Cc:* awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net>

 >> *Subject:* Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should

 >> be able to use extended key code characters as ? ? ?.

 >>

 >> Hi, Shashi.

 >>

 >> This is part of this fix, to figure out how it will work for external

 >> applications. As you said this functionally can be useful for an

 >> onscreen keyboards, which virtually can have any possible keys, but

 >> we should check how the applications will react on such keys:

 >>    - Will the application get some kind of keyPress/Release?

 >>    - Will the application get some keyCode for such event?

 >>    - Is it possible to get autorepeat for such keys?(between

 >> press/release)

 >>

 >> Depending from the answers above we can enhance existed robot API or

 >> provide a new one:

 >> like Robot.keyType(char)/etc

 >>

>> ----- shashidhara.veerabhadra...@oracle.com <mailto:shashidhara.veerabhadra...@oracle.com>

 >> <mailto:shashidhara.veerabhadra...@oracle.com> wrote:

 >>>

 >>

 >>>

 >>

 >>>

 >>

 >> Hi Sergey, I was only able to add short cut keys in the Microsoft

 >> word but not as a system wide short cut key. There was no mechanism

 >> that I could find to add a short cut key for a Unicode char!! Can you

 >> please tell me the steps to do the same if you are aware of?

 >>

 >> Thanks and regards,

 >>

 >> shashi

 >>

 >>>

 >>

 >> *From:*Sergey Bylokhov

 >>> *Sent:* Tuesday, August 22, 2017 8:34 PM

 >>> *To:* Shashidhara Veerabhadraiah

 >>> <shashidhara.veerabhadra...@oracle.com

 >> <mailto:shashidhara.veerabhadra...@oracle.com>>

>>> *Cc:* awt-dev@openjdk.java.net <mailto:awt-dev@openjdk.java.net> <mailto:awt-dev@openjdk.java.net>

 >>> *Subject:* Re: <AWT Dev> [10] JDK-8148344: Java robot keypress

 >>> should be

 >> able to use extended key code characters as ? ? ?.

 >>

 >> Hi, Shashi.

>>> Can you check how this Robot API will work when the application will have a shortcut for such key? Will such shortcuts will work after this fix?

 >>>

>>> ----- shashidhara.veerabhadra...@oracle.com <mailto:shashidhara.veerabhadra...@oracle.com>

 >> <mailto:shashidhara.veerabhadra...@oracle.com> wrote:

 >>>>

 >>

 >>>

 >>

 >>>

 >>

 >> Hi All, Please review fix for the /_enhancement_/ wherein the robot

 >> key press of non-ascii were interpreted as question marks.

 >>

 >> Issue: The robot key press events was handling only the ascii inputs

 >> and ignored the other Unicode inputs. Either it was throwing illegal

 >> argument exception in windows or does nothing on the mac for those

 >> Unicode inputs.

 >>

 >> Solution and fix: The platform specific api’s was unable handle the

 >> non-ascii inputs. I have modified the api’s to accept the non-ascii

 >> inputs and correspondingly send the message to the window to print

 >> the non-ascii characters as well. Below is the picture of how the

 >> non-ascii inputs are considered and printed onto the window.

 >>

 >> The solution spans across windows and mac platform and still in

 >> search of a solution for the Linux platform. The solution implements

 >> key scanning only upon existing valid ascii key was /_not_/ found and

 >> assumes it as Unicode key and sends the event to event queue to be

 >> processed as Unicode keys. Different formats are being used by

 >> different platform implementation of Unicode. For ex., per the below

 >> Unicode list, in the case of windows and mac, the key input can take

 >> decimal values whereas on Linux it can only take the Code values.

 >>

 >> On Linux, I was able to get the KeySym of Unicode keys but was unable

 >> to fake the key event as there was no mechanism available for the

 >> same(which sends the key event to window). Please let me know if

 >> there is any such mechanism available to simulate Unicode key events

 >> on Linux platform. Hence I think to raise a bug for the Linux

 >> platform and close this JDK-8148344 bug.

 >>

 >> Enhancement id: https://bugs.openjdk.java.net/browse/JDK-8148344

 >>

 >> Webrev: http://cr.openjdk.java.net/~sveerabhadra/8148344/webrev.00/

 >>

 >> Thanks and regards,

 >>

 >> Shashi

 >>

 >

 >

 > --

 > Best regards, Sergey.

 >

--

Best regards, Sergey.



--
Best regards, Sergey.

Reply via email to