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 <[email protected]>; Semyon Sadetsky
<[email protected]>; [email protected]
*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 <[email protected]
<mailto:[email protected]>>; Semyon Sadetsky
<[email protected] <mailto:[email protected]>>;
[email protected] <mailto:[email protected]>
*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 <[email protected]
<mailto:[email protected]>>; Semyon Sadetsky
<[email protected] <mailto:[email protected]>>;
[email protected] <mailto:[email protected]>
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
> <[email protected]
<mailto:[email protected]>>; Semyon Sadetsky
> <[email protected] <mailto:[email protected]>>;
[email protected] <mailto:[email protected]>
> 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
>> <[email protected]
<mailto:[email protected]>>
>> *Cc:* [email protected] <mailto:[email protected]>
>> *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
>>
>> ----- [email protected]
<mailto:[email protected]>
>> <mailto:[email protected]> 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
>>> <[email protected]
>> <mailto:[email protected]>>
>>> *Cc:* [email protected] <mailto:[email protected]>
<mailto:[email protected]>
>>> *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?
>>>
>>> ----- [email protected]
<mailto:[email protected]>
>> <mailto:[email protected]> 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.