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

Characters still uppercase when typed with Shift + Caps Lock set on

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 5.0
    • client-libs
    • x86
    • linux

      FULL PRODUCT VERSION :
      JRE 1.5.0_01 to JRE 1.5.0_04

      ADDITIONAL OS VERSION INFORMATION :
      Linux kernel 2.4.26

      A DESCRIPTION OF THE PROBLEM :
      When Caps Lock is set on, alphabetical characters typed in an entry field (for instance) are uppercase and still remain in uppercase even if Shift is pressed by the user as he types.

      The expected behaviour should be an "inversion", a switch back in lowercase of the typed characters (this is the default comportment on this platform, in a shell window for example). Of course, if the user releases the Shift key, characters typed remain uppercase and this action does not disable the Caps Lock key.



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Simply launch the java ControlPanel, and reproduce it by typing in an entry field.

      1) Set caps lock on
      2) Open any application with GUI
      2) type alphabetical characters whith Shift key pressed

      There is no matter if the Caps Lock is set on before or after the JVM is launched.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Lowercase characters (a,g,h,z,r..etc)
      ACTUAL -
      Uppercase characters (A,G,H,Z,R...etc)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      import javax.swing.*;
      import java.awt.*;
      import java.awt.event.*;
      import javax.swing.text.*;

      public class Caps2 extends JFrame {

          
          protected void processKeyEvent(KeyEvent e) {
      if (e.getID() == KeyEvent.KEY_TYPED) {
      System.out.print("Key typed");
      }
      if (e.getID() == KeyEvent.KEY_PRESSED) {
      System.out.print("Key pressed");
      }
      if (e.getID() == KeyEvent.KEY_RELEASED) {
      System.out.print("Key released");
      }
      System.out.print(" Key code: " + e.getKeyCode());
      System.out.println(" Character: " + e.getKeyChar());
          }

          public static void main(String args[]) {
              JFrame jf=new Caps2();
              jf.setSize(300,100);
              jf.setVisible(true);
          }
      }
      ---------- END SOURCE ----------
      ###@###.### 2005-07-21 09:20:08 GMT

            yan Yuri Nesterenko
            ndcosta Nelson Dcosta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: