Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8092366

Pointing device capability checks


    • Type: Enhancement
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: fx2.0.2
    • Fix Version/s: tbd
    • Component/s: javafx
    • Labels:


      The way a user operates a mouse is very different from the way a user operates a multi-touch trackpad, yet JavaFX application developers have no way of telling the two device types apart.

      In my use case, I wish to let users navigate around a world map. When using a multi touch track pad, a user is capable of scrolling both vertically and horizontally, which means we can let track pad users pan around the map using the pad. Mouse users can only scroll vertically, so we have to make them press-and-hold the left mouse button and use drag motions to pan around the map. This means mouse users do not us the scroll wheel for panning, so instead we would like to let them zoom in and out using the wheel, i.e. scrolling vertically. However, since vertical scrolling is what track pad users use to pan up and down the map, we cannot do so.

      If we were able to somehow read the capabilities of the pointing devices through JavaFX, we could provide a customized user experienced for each type of user (track pad users and mouse users), without having to ask them what they prefer.

      In particular, I would like to be able to ask JavaFX the following questions at runtime:

      1. Does the pointing device support 1, 2, or 3 axis scrolling?
      2. How many buttons does the pointing device have? (you do not want to force people to do a lot of right clicking, if they only have one button like on some Mac mice)
      3. What type of pointing device is it, e.g. PointingDevice.TRACK_PAD, PointingDevice.MOUSE, PointingDevice.DIGITIZER, PointingDevice.TRACKBALL, ...

      One way of communicating device capabilities could be to add a simple enumeration


          Issue Links



              • Assignee:
                risaksen Randahl Isaksen
              • Votes:
                0 Vote for this issue
                0 Start watching this issue


                • Created: