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

JavaFX virtual keyboard missing ^ character

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3 P3
    • tbd
    • jfx11, 8, jfx16, jfx17, jfx18
    • javafx
    • generic
    • generic

      ADDITIONAL SYSTEM INFORMATION :
      java 8 and later

      A DESCRIPTION OF THE PROBLEM :
      The javafx virtual keyboard is missing ^ character (circumflex, caret). This is typically SHIFT+6 on the standard US keyboard.


      It is not listed in https://github.com/openjdk/jfx/blob/master/modules/javafx.controls/src/main/resources/com/sun/javafx/scene/control/skin/TextBoard.txt

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Enabled virtual keyboard, looked through each key and their alternatives (via pop up). Also checked source code.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      There should be a way to enter the ^ character through the virtual keyboard.
      ACTUAL -
      There is no ^ character in the virtual keyboard.

      ---------- BEGIN SOURCE ----------
      import javafx.application.Application;
      import javafx.scene.Scene;
      import javafx.scene.control.TextArea;
      import javafx.scene.layout.BorderPane;
      import javafx.stage.Stage;

      /*
       * java -Dcom.sun.javafx.isEmbedded -Dcom.sun.javafx.virtualKeyboard=javafx VirtualKeyboardExample
       */
      public class VirtualKeyboardExample extends Application {
          @Override
          public void start(Stage stage) throws Exception {
              StringBuilder sb = new StringBuilder("^ character is missing from virtual keyboard");
              sb.append("\n\nPress and hold with left mouse button on a key to pop up alternative characters");

              final BorderPane root = new BorderPane();
              root.setCenter(new TextArea(sb.toString()));
              final Scene scene = new Scene(root, 500, 300);

              stage.setTitle("Virtual Keyboard");
              stage.setScene(scene);
              stage.show();
          }

          public static void main(String[] args) {
              launch(args);
          }

      }
      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Probably create jar with updated TextBoard.txt and put in class path before jfxrt.jar or patch-module.

      FREQUENCY : always


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

              Created:
              Updated: