Hi Sergey, Below are my replies:

shashi

-----Original Message-----
From: Sergey Bylokhov 
Sent: Tuesday, November 14, 2017 3:32 AM
To: Shashidhara Veerabhadraiah <shashidhara.veerabhadra...@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, Shashi.
  115     @Override
  116     public void keyReleaseUnicode( int key ) {
  117         // No special functions that implements a unicode key press
  118         // and release in linux platform. Hence falls back to the
  119         // default ASCII key press/release functions.
  120         keyReleaseImpl(key);
  121     }

We should do something in this part of the fix, because we cannot use unicode 
point as a keyCode. It will produce incorrect result.
[Shashi] As discussed in the meeting, will add a unsupported exception in the 
following Webrev.

Also we should check what events are come to the application when this new API 
will be used. For example if 'm' will be pressed what notifications will be 
posted to the
application?(keyTyped/keyPressed/keyReleased)
[Shashi] It sends out the keyPressed/keyReleased events(WM_KEYUP/WM_KEYDOWN) 
events. The current code takes into account of the Unicode chars and uses the 
Unicode functions like ::ToUnicodeEx() to scan the characters.

On 05/11/2017 21:04, Shashidhara Veerabhadraiah wrote:
> Hi Sergey, Please find the updated Webrev addressing your 
> comments/requirements.
> 
> http://cr.openjdk.java.net/~sveerabhadra/8148344/webrev.03/
> 
> Thanks and regards,
> Shashi
> 
> -----Original Message-----
> From: Shashidhara Veerabhadraiah
> Sent: Friday, October 27, 2017 6:44 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 Sergey, below are my replies:
> 
> Thanks and regards,
> shashi
> 
> -----Original Message-----
> From: Sergey Bylokhov
> Sent: Friday, October 27, 2017 11:47 AM
> To: Shashidhara Veerabhadraiah 
> <shashidhara.veerabhadra...@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, Shashi.
>    - Do we need to check passed unicode code-point in Robot.java using 
> checkKeycodeArgument(key);?
> [Shashi] I think yes. If the key value is zero I believe we don't need to 
> process further.
>    - Can you please clarify how it will work on linux where we will use 
> code-point as a keycode?
> [Shashi] There is no update being done to the linux source code as I could 
> not find native call which can interpret the Unicode. Hence it will behave 
> same as the original keypress() and keyrelease().
>    - 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?
> [Shashi] Sure will update in the coming pass.
> 
> 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).
> [Shashi] We need to be sure that the Unicode key indeed displayed as the 
> standard Unicode. There is no other way to confirm that it is indeed been the 
> same standard Unicode that's been displayed.
> 
> Debug code in awt_Robot.cpp
> if(isUnicode) {printf("In unicode func:%d", jkey); [Shashi] Sure will update 
> in the coming pass.
> 
> 
> 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?
> [Shashi] It can be done but the only problem is that it is kinda different 
> from the keypress() and keyRelease() functions. If that's fine then it can be 
> done. Please confirm based on that I will produce a new Webrev based on that.
> 
> 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.
> 


--
Best regards, Sergey.

Reply via email to