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

[macosx] KeyPressed method bugs on OS X

XMLWordPrintable

    • x86
    • os_x

      FULL PRODUCT VERSION :
      Java 8 update 111.

      ADDITIONAL OS VERSION INFORMATION :
      Mac OS Sierra

      version 10.12.1 (16B2555)

      Early 2014

      A DESCRIPTION OF THE PROBLEM :
      The "KeyPressed" does not work correctly. It does not register for example if 'W', 'S', 'A', 'D' (Or any other combination) buttons are pressed multiple times, at the same times or too long.

      Example :

      public void keyPressed(KeyEvent e){

      int key = e.getKeyCode();

      if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT){
      dx = -1;
      System.out.println(""A" -pressed");
      }
      if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT){
      dx = 1;
      System.out.println(""D" -pressed");
      }
      if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP){
      dy = -1;
      System.out.println(""W" -pressed");
      }
      if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN){
      dy = 1;
      System.out.println(""S" -pressed");
      }
      }

      public void keyReleased(KeyEvent e){

      int key = e.getKeyCode();

      if(key == KeyEvent.VK_S || key == KeyEvent.VK_DOWN){
      dy = 0;
      System.out.println("'S' Released");

      }
      if(key == KeyEvent.VK_W || key == KeyEvent.VK_UP){
      dy = 0;
      System.out.println("'W' Released");

      }
      if(key == KeyEvent.VK_D || key == KeyEvent.VK_RIGHT){
      dx = 0;
      System.out.println("'D' Released");

      }
      if(key == KeyEvent.VK_A || key == KeyEvent.VK_LEFT){
      dx = 0;
      System.out.println("'A' Released");

      }
      }

      CONSOLE OUT:


      'D' -pressed
      'D' Released
      'D' -pressed
      'D' Released
      'S' -pressed
      'S' Released
      'A' -pressed
      'A' Released
      'W' -pressed
      'W' Released
      'D' -pressed
      'D' Released
      'S' Released
      'A' Released
      'W' Released
      'D' Released
      'S' Released
      'D' Released
      'W' Released
      'S' Released
      'W' Released

      //Like you can see, it stops registering randomly at some point after pressing a button few times but still registers after i release button.

      //i want to add this worked PERFECTLY before updating to OS Sierra .


      REPRODUCIBILITY :
      This bug can be reproduced always.

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: