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

JavaFX virtual keyboard missing ^ character

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 8, openjfx11, openjfx16, openjfx17, openjfx18
    • Fix Version/s: tbd
    • Component/s: javafx
    • Subcomponent:
    • CPU:
      generic
    • OS:
      generic

      Description

      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


        Attachments

          Activity

            People

            Assignee:
            aghaisas Ajit Ghaisas
            Reporter:
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: