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

Semyon Sadetsky semyon.sadetsky at oracle.com
Tue Aug 22 18:57:34 UTC 2017

Because press/release keycodes are not the same as characters. Character 
is produced from keycode or sequence of keycodes according to the 
selected kayboard layout.


On 08/22/2017 11:30 AM, Shashidhara Veerabhadraiah wrote:
> Hi, Why not if the platform offers a way to simulate Unicode keyboard 
> events? Here the platform api offers to accept decimal values or code 
> values as input though a real keyboard may not be able to generate the 
> same and converts it into a displayable Unicode char.
> Thanks and regards,
> shashi
> *From:*Semyon Sadetsky
> *Sent:* Tuesday, August 22, 2017 10:03 PM
> *To:* Shashidhara Veerabhadraiah 
> <shashidhara.veerabhadraiah at oracle.com>; awt-dev at openjdk.java.net
> *Subject:* Re: <AWT Dev> [10] JDK-8148344: Java robot keypress should 
> be able to use extended key code characters as ? ? ?.
> Hi,
> Are you sure that keyPress/keyRelease should emulate UTF8 symbols? 
> Physical keyboard cannot produces so many keycodes with a single 
> press/release.
> --Semyon
> On 08/22/2017 01:57 AM, Shashidhara Veerabhadraiah 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/
>     <http://cr.openjdk.java.net/%7Esveerabhadra/8148344/webrev.00/>
>     Thanks and regards,
>     Shashi

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20170822/842c203a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 4356 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20170822/842c203a/image001-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 81096 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20170822/842c203a/image003-0001.jpg>

More information about the awt-dev mailing list