United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6173972 backspace, arrow keys, and return key not working in java applications
JDK-6173972 : backspace, arrow keys, and return key not working in java applications

Details
Type:
Bug
Submit Date:
2004-10-04
Status:
Resolved
Updated Date:
2012-10-10
Project Name:
JDK
Resolved Date:
2009-06-11
Component:
client-libs
OS:
solaris_9,solaris,solaris_10,solaris_nevada
Sub-Component:
java.awt
CPU:
x86,sparc,generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
other,solaris,solaris_10,solaris_10u1,solaris_11,1.0,2.0,2.10.0,2.4.0,5.0,5.0u1,5.0u2,5.0u7
Fixed Versions:
5.0u3 (b05)

Related Reports
Backport:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Duplicate:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
Neither my backspace key nor my delete key have any effect in any field when using Bugster.  The control-H key, however, does work as I would expect backspace to work.
###@###.### 10/4/04 21:47 GMT

Thanks to Alan Harder for the test program texttest.java (see attachments).  This is NOT a bugster problem, but a problem with java, possible related to keyboard identification/keymappings.  I've got a Sun type 6 usb keyboard attached to an Opteron desktop running java 1.5.0 b64, S10_69+amd64 bits and Cinnabar_19.  When I have the numlock turned on, many keys cease functioning, including but not necessarily limited to: backspace, delete, return, tab, and the zero on the number pad.
###@###.### 10/6/04 20:36 GMT

I can confirm this as well.  This also explains why I only see this problem
on my desktop and not on my laptop which runs identical Solaris and Java bits.
###@###.### 10/6/04 21:08 GMT
I would like to request to have this bug re-opened.  We are seeing reports of this issue again and it seems like it has been re-introduced.  We are seeing it in 1.5.0_17  and 1.5.0_18 we did not see this in 1.5.0_14.

We have had several reports of this on the sunray servers within Swan. 

Mike Miller (###@###.### ) has taken several calls from users on this.
why it's marked as 'Fix failed' on 2009-05-06 ?

                                    

Comments
EVALUATION

I think the problem is with the window system or java's ability to set the correct keybindings for the window system.  I logged into the user's system and did a remote display of bugster to both gnome and CDE on my sparc/solaris8 system.. both worked fine.
###@###.### 10/5/04 17:35 GMT
In existing native key-handling code for both Motif and XAWT, we should carefully process keysyms if NumLock is on, distinguishing subcases "XKB on/off" && "keysym selection convention  Xsun/Xorg".
###@###.### 2005-2-18 09:31:39 GMT
                                     
2004-10-05
SUGGESTED FIX

A quick fix is of workaround variety: allow processing _AWT_IGNORE_XKB environment variable not only on Linux but on every Unix platform.

------- src/solaris/native/sun/awt/awt_GraphicsEnv.c -------
*** /tmp/sccs.54jMhE    Wed Nov  3 15:07:10 2004
--- awt_GraphicsEnv.c   Wed Nov  3 15:07:00 2004
***************
*** 694,707 ****
  #endif
      awt_lock = (*env)->NewGlobalRef(env, this);

- #ifdef __linux__
    if (getenv("_AWT_IGNORE_XKB") != NULL &&
        strlen(getenv("_AWT_IGNORE_XKB")) > 0) {
        if (XkbIgnoreExtension(True)) {
          printf("Ignoring XKB.\n");
        }
    }
- #endif

      dpy = awt_display = XOpenDisplay(NULL);
  #ifdef NETSCAPE
--- 694,705 ----
###@###.### 11/3/04 12:08 GMT
                                     
2004-11-03
EVALUATION

/****************************************************
 ****************************************************
 ****************************************************/

<B>To enable fix in 1.5.0, please set _AWT_USE_TYPE4_PATCH=false environment variable.</B>

/************************************************
 ************************************************
 ************************************************/ (now it is visible, isn't it:-)
                                     
2006-08-15
EVALUATION

This bug's Notes suggest that the original Fix Delivered/Available status was incorrect.  The problem was never fixed in Java 5.0, and it was never intended to be fixed.  Instead, it was fixed in a later version, Java 6.0 (covered under sub-CR 2121519).  There were code changes put back in Java 5.0, but they did not fix the problem.  Instead, they enabled a workaround.

This bug probably should be closed as "Will Not Fix" in Java 5.0, with a note that workarounds exist.
                                     
2009-05-11
WORK AROUND

There are two different workarounds:

1. Set the _AWT_USE_TYPE4_PATCH environment variable to false before starting the Java application.  For example: 
export _AWT_USE_TYPE4_PATCH=false

2. Toggle the "Num Lock" key on the keyboard to disable Num Lock mode.
                                     
2009-05-11



Hardware and Software, Engineered to Work Together