Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

classic Classic list List threaded Threaded
16 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Sven Gothel
Administrator
I reviewed the NEWT key press/release/type thingy again (windows, etc ..).
While solving the UTF-char problem (again), I see that the TYPED event is
redundant now, since we deliver the UTF-char for all events.

Hence I like to remova NEWT KeyEvent.EVENT_KEY_TYPED and
it's KeyListener.keyTyped(KeyEvent) listener.

This will reduce the event 1/3 for keyboard .. which is reasonable IMHO
considering the 'headaches' of the change.

User code change: Simply trigger on RELEASE instead of TYPED.

Opinions ?

https://jogamp.org/bugzilla/show_bug.cgi?id=688

~Sven

--
health & wealth
mailto:[hidden email] ; http://jausoft.com
land : +49 (471) 4707742 ; fax : +49 (471) 4707741
Timezone CET: PST+9, EST+6, UTC+1


signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Rami Santina
Administrator
that would be great in my opinion :), these events can be deduced by the developer if needed.

And as you said will reduce the event count which is huge with the autorepeat :)

Regards,
Rami
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
In reply to this post by Sven Gothel
It's ok for me if and only if you put this change into a separate RC and if you push it to Maven in order to avoid some troubles in engines as it modifies the public API.

Edit.: It won't ease the port of code from AWT to NEWT.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Sven Gothel
Administrator
On 02/11/2013 01:45 PM, gouessej [via jogamp] wrote:
> It's ok for me if and only if you put this change into a separate RC and if
> you push it to Maven in order to avoid some troubles in engines as it modifies
> the public API.

'seperate' ?

You mean: publish ASAP as RC and maven when published in source ?

Currently going through all bugs etc, a next RC (release 2.0.2)
will happen after all major bugs are squashed.

A pre-bundle (the usual aggregated build) and a maven can be produced ASAP
after commit - of course, so downstream (Ardor, JME3, ..) can use them
and are in sync w/ public API.

Later changes to GL ES3/4.3 will require the same.
However .. at that time we will be close to 2.0.2

Is that OK?

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
Sven Gothel wrote
On 02/11/2013 01:45 PM, gouessej [via jogamp] wrote:
> It's ok for me if and only if you put this change into a separate RC and if
> you push it to Maven in order to avoid some troubles in engines as it modifies
> the public API.

'seperate' ?

http://translate.google.fr/#fr/en/s%C3%A9par%C3%A9 'separate'
Sven Gothel wrote
You mean: publish ASAP as RC and maven when published in source ?

Currently going through all bugs etc, a next RC (release 2.0.2)
will happen after all major bugs are squashed.

A pre-bundle (the usual aggregated build) and a maven can be produced ASAP
after commit - of course, so downstream (Ardor, JME3, ..) can use them
and are in sync w/ public API.

Later changes to GL ES3/4.3 will require the same.
However .. at that time we will be close to 2.0.2

Is that OK?

~Sven




signature.asc (911 bytes) <http://forum.jogamp.org/attachment/4028197/0/signature.asc>
It can wait for the release 2.0.2. I will update the engines at this time.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
In reply to this post by Sven Gothel
Hi

Finally, please consider keeping the typed events to ease the integration with other input APIs. Removing it would drive harder the port and the interoperability with several APIs generating such events including AWT and JInput. Despite our efforts, key pressed and key released events might preserve a very few platform-specific behaviours (which is more obvious for popup triggers in mouse events). Some developers are only interested in key typed events, for example when implementing a chat. The auto-repeat flag is nice but we should not be forced to use it to get true key typed events.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Sven Gothel
Administrator
On 02/15/2013 02:10 PM, gouessej [via jogamp] wrote:

> Hi
>
> Finally, please consider keeping the typed events to ease the integration with
> other input APIs. Removing it would drive harder the port and the
> interoperability with several APIs generating such events including AWT and
> JInput. Despite our efforts, key pressed and key released events might
> preserve a very few platform-specific behaviours (which is more obvious for
> popup triggers in mouse events). Some developers are only interested in key
> typed events, for example when implementing a chat. The auto-repeat flag is
> nice but we should not be forced to use it to get true key typed events.
autorepeat/typed .. unrelated.

After fixing bug 688 (again),
PRESSED, RELEASED and TYPED events will all hold the UTF-16 char value.
Further more, RELEASED and TYPED will have the same timestamp.

Hence there is no technical necessity for TYPED events,
since they will deliver the same information as their previous arrived RELEASED event.

So the existance of TYPED is actually not helping or ease anything here
and as I and Rami already mentioned - removing TYPED will reduce the event load about 1/3.

To simplify migration to removal of TYPED, I will do the following:
  1) Fix Bug 688 -> RELEASED == TYPED -> Start using RELEASED in your code.
  3) Create an aggregated build + maven
  2) Fix Bug 688 -> Remove TYPED event
  4) Create an aggregated build + maven

I guess that is reasonable and allows us to remove buggy code (-> redundancy).

~Sven




signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

io7m
I'm fine with this change, personally. I've never actually written a program that used TYPED (only ever used RELEASED)...
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Sven Gothel
Administrator
In reply to this post by gouessej
On 02/15/2013 02:32 PM, Sven Gothel wrote:

> On 02/15/2013 02:10 PM, gouessej [via jogamp] wrote:
>> Hi
>>
>> Finally, please consider keeping the typed events to ease the integration with
>> other input APIs. Removing it would drive harder the port and the
>> interoperability with several APIs generating such events including AWT and
>> JInput. Despite our efforts, key pressed and key released events might
>> preserve a very few platform-specific behaviours (which is more obvious for
>> popup triggers in mouse events). Some developers are only interested in key
>> typed events, for example when implementing a chat. The auto-repeat flag is
>> nice but we should not be forced to use it to get true key typed events.
>
> autorepeat/typed .. unrelated.
>
> After fixing bug 688 (again),
Bug 678 ! Sorry

> PRESSED, RELEASED and TYPED events will all hold the UTF-16 char value.
> Further more, RELEASED and TYPED will have the same timestamp.
>
> Hence there is no technical necessity for TYPED events,
> since they will deliver the same information as their previous arrived RELEASED event.
>
> So the existance of TYPED is actually not helping or ease anything here
> and as I and Rami already mentioned - removing TYPED will reduce the event load about 1/3.

Note that this is not simply a beauty change ..
but has payload / CPU / performance impact.

>
To simplify migration to removal of TYPED, I will do the following:
  1) Fix Bug 678 -> RELEASED == TYPED -> Start using RELEASED in your code.
  2) Create an aggregated build + maven
  3) Fix Bug 688 -> Remove TYPED event
  4) Create an aggregated build + maven

> I guess that is reasonable and allows us to remove buggy code (-> redundancy).


~Sven


signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
Ok but please can you help me to fix a minor problem? When I use RC11 with Maven, it retrieves the very first pushed build. How can I modify the pom file to retrieve the latest aggregated build?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

io7m
You need to use the jogamp repository to get the more recent builds. We've only been pushing the actual rc* releases to Central:

http://jogamp.org/wiki/index.php/Setting_up_a_JogAmp_project_in_your_favorite_IDE#The_jogamp.org_test_repository_.28optional.29

See this directory for the available versions:

http://jogamp.org/deployment/maven/org/jogamp/jogl/jogl-all/
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
Ok, I'll use < version >2.0-rc11post06</ version >, it should work. It would be fine to push a "post07" after these changes in the public API.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
In reply to this post by io7m
Maven doesn't succeed in getting the post build 06, I have to go on using JOGL 2.0 RC11 initial build.

Edit.: I have the following error message:
[WARNING] The POM for org.jogamp.gluegen:gluegen-rt-main:jar:2.0-rc11post06 is missing, no dependency information available
The full logs are here.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

io7m
It's not enough to just set the version, if that wasn't obvious. Maven actually needs to be told about that extra repository. From the logs, it seems as though your Maven invocation is only checking http://repo.cloudbees.com.
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

Sven Gothel
Administrator
In reply to this post by Sven Gothel
On 02/11/2013 10:35 AM, Sven Gothel wrote:

> I reviewed the NEWT key press/release/type thingy again (windows, etc ..).
> While solving the UTF-char problem (again), I see that the TYPED event is
> redundant now, since we deliver the UTF-char for all events.
>
> Hence I like to remova NEWT KeyEvent.EVENT_KEY_TYPED and
> it's KeyListener.keyTyped(KeyEvent) listener.
>
> This will reduce the event 1/3 for keyboard .. which is reasonable IMHO
> considering the 'headaches' of the change.
>
> User code change: Simply trigger on RELEASE instead of TYPED.
>
> Opinions ?
>
> https://jogamp.org/bugzilla/show_bug.cgi?id=688
>
> ~Sven
>
1st chunk of work is done, especially for Bug 678 (fix), Bug 641 (API + Windows Impl.).

  http://jogamp.org/git/?p=jogl.git;a=commit;h=85338858f5c58694fa88e77df1386d0556887944

  Bug 641 needs at least X11 impl. of US KBD keyCode, OSX is optional
     https://jogamp.org/bugzilla/show_bug.cgi?id=641#c11

Maybe in 1-2 weeks, the TYPED event will be gone,
having aggregated builds right now - able to use PRESSED event already,
read: fully functional. Dev-Test:
  http://jogamp.org/deployment/archive/master/gluegen_639-joal_403-jogl_916-jocl_749/

~Sven



signature.asc (911 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Bug 688 - Removal of NEWT KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent)

gouessej
Administrator
Ardor3D 0.9 will use only releases pushed on Maven Central. I will wait for JOGL 2.0 RC12 or 2.0.2.
Julien Gouesse | Personal blog | Website