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

Standardize autorepeat KeyEvent behavior across platforms

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • 1.4.0
    • client-libs
    • generic, sparc
    • generic, solaris_8



      Name: bsT130419 Date: 09/18/2001


      java version "1.4.0-beta2"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta2-b77)
      Java HotSpot(TM) Client VM (build 1.4.0-beta2-b77, mixed mode)


      Several bug reports (e.g. 4274879) have pointed out that autorepeat keys act
      differently across platforms (various flavors of windows, Solaris, and Linux),
      but have been closed without being fixed. This makes cross-platform
      development of any application that requires fine interpretation of keyboard
      events pointlessly annoying and difficult. We request that these variations be
      removed, possibly by making autorepeat behavior part of "look and feel". In
      particular, developers should be able to set the rate at which a depressed key
      automatically generates events in an application, including disabling
      autorepeat compeletely.

      The rationale for not removing these variations has been twofold, but neither
      argument is convincing.

      First, the evaluations of the above and similar bugs (4115488) make the point
      that this is technically difficult or even impossible. However, it can clearly
      be done, and in a cross-platform way. See, for instance, the Simple
      DirectMedia Layer at www.libsdl.org. It allows users to completly specify the
      autorepeat interval for keys, and works for win32, Linux, MacOS, and BeOS.

      Second, the argument is made that by underspecifying behaviors, applications
      will act like other applications on the same system (on windows it will act
      like a windows app, on solaris like a solaris app, etc...). However, this
      argument goes completely against the philosphy espoused by Swing. In
      particular, this is exactly a look and feel issue, and should be treated as
      such, i.e. the default autorepeat behavior should be configurable based on
      platform, but not tied to platform. If a developer wants to control the
      application so that it acts the same on every platform, they cannot do so
      with the current state of affairs.
      (Review ID: 132078)
      ======================================================================

            Unassigned Unassigned
            bstrathesunw Bill Strathearn (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Imported:
              Indexed: