Keyboard events

Artem Ananiev artem.ananiev at oracle.com
Thu Oct 10 01:44:06 PDT 2013


On 10/10/2013 3:11 AM, Pedro Duque Vieira wrote:
> Done.
>
> https://javafx-jira.kenai.com/browse/RT-33458

Thank you!

Artem

> Thanks, best regards,
>
>
> On Wed, Oct 9, 2013 at 12:11 PM, Artem Ananiev <artem.ananiev at oracle.com
> <mailto:artem.ananiev at oracle.com>> wrote:
>
>
>     On 10/9/2013 4:19 AM, Pedro Duque Vieira wrote:
>
>         Do you want me to file a Jira issue for this?
>
>
>     Yes, please.
>
>     I haven't found such a feature request in JavaFX JIRA. The only
>     issue which is slightly related is
>
>     https://javafx-jira.kenai.com/__browse/RT-32302
>     <https://javafx-jira.kenai.com/browse/RT-32302>
>
>     but it's not exactly about querying for keyboard state.
>
>     Thanks,
>
>     Artem
>
>         Regards,
>
>
>         On Mon, Oct 7, 2013 at 6:03 PM, Artem Ananiev
>         <artem.ananiev at oracle.com <mailto:artem.ananiev at oracle.com>
>         <mailto:artem.ananiev at oracle.__com
>         <mailto:artem.ananiev at oracle.com>>> wrote:
>
>
>              On 10/7/2013 6:53 PM, Richard Bair wrote:
>
>                  That being said, this seems like a very common use
>         case, and I
>                  wonder if there is something more we could do (in the
>         longer
>                  term, short term do as Artem suggests)
>
>
>              One of the options is to provide API to query for keyboard
>         state at
>              any arbitrary moment, whether particular key is pressed or
>         not. Even
>              if we only support locking keys (Caps, Num, Scroll, Kana) and
>              control keys (Shift, Control, Command, Alt), it will be of
>         great
>              value. Game developers will be happy to have such API for
>         all the
>              keys, including navigation and letter ones.
>
>              Thanks,
>
>              Artem
>
>
>                      On Oct 7, 2013, at 3:56 AM, Artem Ananiev
>                      <artem.ananiev at oracle.com
>         <mailto:artem.ananiev at oracle.com>
>         <mailto:artem.ananiev at oracle.__com
>         <mailto:artem.ananiev at oracle.com>>>
>
>                      wrote:
>
>
>                          On 10/7/2013 2:40 AM, Pedro Duque Vieira wrote:
>                          Hi,
>
>                          I have the following use case:
>                          When the user presses shift and the mouse is
>         hover the
>                          chart component the
>                          cursor must change to an open hand cursor
>         signaling to
>                          the user that the
>                          chart is ready for a panning action.
>                          The problem is that for this to be possible I
>         want the
>                          chart to be able to
>                          listen to keyboard events even when it doesn't
>         have focus.
>
>                          I think this is not possible and I wonder why.
>         Swing was
>                          the same, you
>                          could only listen to keyboard events if the
>         control had
>                          focus. Is this a
>                          technical limitation? If there is no technical
>                          limitation I think it would
>                          be better to remove this restriction, I think it is
>                          limiting and the above
>                          scenario is a good use case to show that.
>
>
>                      This is not a technical limitation, it's just the
>         way how
>                      it's supposed to work. All the key events are
>         dispatched to
>                      the component in focus, this is what input focus is.
>
>                      Scenario you described should be easier to
>         implement in FX
>                      than in Swing. In AWT/Swing, input events are
>         dispatched to
>                      a single component, while FX is much more flexible.
>         All the
>                      events are delivered to a Scene first, then
>         dispatched to
>                      the focused component (or component under mouse,
>         for mouse
>                      events), then bubbled up back to the Scene. What
>         you need is
>                      to register a custom event filter for the scene and
>         listen
>                      to all the key events.
>
>                      See Scene.addEventFilter() and
>         Scene.addEventHandler() for
>                      details.
>
>                      Thanks,
>
>                      Artem
>
>                          Thanks, best regards,
>
>
>
>
>         --
>         Pedro Duque Vieira
>
>
>
>
> --
> Pedro Duque Vieira


More information about the openjfx-dev mailing list