-
Enhancement
-
Resolution: Unresolved
-
P4
-
None
-
1.4.0
-
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)
======================================================================
- duplicates
-
JDK-4587676 Holding down a key sends different events on Solaris, Windows
- Closed
- relates to
-
JDK-4701055 customer would like to have XkbSetDetectableAutoRepeat in java
- Open