[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    Re: Doubts on KeyCode
From:       Tom Schindl <tom.schindl () bestsolution ! at>
Date:       2015-03-30 12:06:48
Message-ID: 55193C58.7010303 () bestsolution ! at
[Download RAW message or body]

Hi,

I think I'll start to understand, when I type ] on a german keyboard I
have to use a modifier key (on OS-X ALT) but the keycode without
modifier is the one for the +.

Tom

On 30.03.15 13:56, Benjamin Gudehus wrote:
> Hi,
> 
> > What I can not explain is why the keyboard "+" (ascii-code 43) maps to
> "]" (ascii-code 93) from a native-keyevent to KeyCode happens in
> Glass-Layer.
> 
> Hmm, the "+" key on a german keyboard layout [1] is actually "]" on the
> us keyboard layout [2].
> 
> But when I type "+" on my german keyboard with german layout activated
> on Windows it outputs "+" as unicode string and "PLUS" for the KeyCode.
> With this code:
> 
> textField.setOnKeyPressed((event) -> {
> System.out.println(event.getText());
> System.out.println(event.getCode());
> });
> 
> [1]
> http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/KB_Germany.svg/800px-KB_Germany.svg.png
>  [2]
> http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/KB_United_States-NoAltGr.svg/800px-KB_United_States-NoAltGr.svg.png
>  
> On Mon, Mar 30, 2015 at 1:19 PM, Scott Palmer <swpalmer@gmail.com
> <mailto:swpalmer@gmail.com>> wrote:
> 
> If I recall correctly there is one keycode named PLUS and another
> named ADD. One of them refers to the numeric keypad.
> 
> Scott
> 
> > On Mar 30, 2015, at 6:58 AM, Tom Schindl
> <tom.schindl@bestsolution.at <mailto:tom.schindl@bestsolution.at>>
> wrote:
> > 
> > hi,
> > 
> > suppose you have the following code:
> > 
> > > package application;
> > > 
> > > import javafx.application.Application;
> > > import javafx.scene.Scene;
> > > import javafx.scene.control.TextField;
> > > import javafx.scene.layout.BorderPane;
> > > import javafx.stage.Stage;
> > > 
> > > public class Main extends Application {
> > > @Override
> > > public void start(Stage primaryStage) {
> > > try {
> > > BorderPane root = new BorderPane();
> > > Scene scene = new Scene(root, 400, 400);
> > > 
> > > TextField f = new TextField();
> > > f.setOnKeyReleased( e -> {
> > > System.err.println(e.getCode());
> > > });
> > > root.setCenter(f);
> > > 
> > > primaryStage.setScene(scene);
> > > primaryStage.show();
> > > } catch (Exception e) {
> > > e.printStackTrace();
> > > }
> > > }
> > > 
> > > public static void main(String[] args) {
> > > launch(args);
> > > }
> > > }
> > 
> > For default ASCII-Chars like a, b, c, ... I get the correct
> KeyCode but
> > e.g. for +, -, ... the information is totally bogus. Please note I get
> > the correct keyCode when pressing the NumPad char but e.g.
> CLOSE_BRACKET
> > when pressing "+" on my keyboard.
> > 
> > If I'm not completely mistaken the KeyCode defintion for the current +
> > is the one for the keypad "+" and the one for the ordinary + is
> missing?
> > 
> > This means that the definition:
> > 
> > PLUS(0x0209, "Plus")
> > 
> > has to be
> > 
> > PLUS(0x0209, "Plus", KeyCodeClass.KEYPAD)
> > 
> > What I can not explain is why the keyboard "+" (ascii-code 43) maps to
> > "]" (ascii-code 93) from a native-keyevent to KeyCode happens in
> > Glass-Layer.
> > 
> > Tom
> > 
> > --
> > Thomas Schindl, CTO
> > BestSolution.at EDV Systemhaus GmbH
> > Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
> > http://www.bestsolution.at/
> > Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck
> 
> 


-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic