Welcome to yEd Q&A!
Here you can ask questions and receive answers from other members of the community and yEd developers. And you can tell us your most wanted feature requests.


The accent ^ is not working

0 votes

The accent ^ is not working. I can paste it from outside yEd, but I can't type it inside it. Other accents work fine.

I'm using an ANSI keyboard.

Version 3.21.1     

Java Version: 15.0.2     

Windows 10

in Help by

1 Answer

0 votes
This is not a yEd issue (sure enough "^" works fine on my qwerty and qwertz keyboards), but rather depends on how your operating system reports key typed events to the Java runtime environment.
by [yWorks] (161k points)
The accent works fine here on other Java software (like Freeplane). Where should I look for the solution? Java forum? Windows forum?

I am sorry, but I do not know where you can find a solution to this problem.

It is strange though, that it works for other Java applications. What keys exactly do you need to type to type "^"? For me, it is SHIFT+6 on my qwerty keyboard and a dead key which I need to follow-up with SPACE on my qwertz keyboard.

Maybe I misunderstood something here.
My qwertz keyboard is an ISO keyboard, thus ^ is a dead key and can be used to put a circumflex on characters like e.g. â.
My qwerty keyboard is an ANSI keyboard. Here, ^ is NOT a dead key and thus cannot be used to put a circumflex on other characters.
Theses are "features" of my keyboards and the keyboard layouts I have chosen in my operating system. This is not something that is handled in yEd.

Are you maybe trying to use a non-dead ^ to put a circumflex on other characters? This works for me if I change my qwerty keyboard layout to "international AltGr dead keys". In this case, the right ALT key + 6 will turn ^ into a dead key and the subsequently typed character will get a circumflex.
I did some tests here, and found that the problem only happens in the layout "US (international)". With another layouts, the ^ (dead and â ê ô) works normally in yEd.

So, in Windows there are two kinds of US keyboard layouts:
-US qwerty
-US (international) qwerty

When I use "US (international)" in other programs, I use Shift+6 to add dead ^ or accented characters. In yEd, it's not working.

I tried using On Screen keyboard and it's also not working in yEd.

Using Al+Code works.

Using Windows Dictate works.

Please, try the "US (international)" layout in your computer.

Thank you very much for the additional information.

I have been able to reproduce the described behavior, but

  • only on Windows,
  • only with keyboard layout "English (USA, International) QWERTY", and
  • only for yEd's inline label editor.

Due to the last point, there is a fairly simple workaround: Instead of editing label texts with yEd's inline label editor (that is opened with F2 or from the context menu "Edit Label" action), use the "Text" editor field in the properties view in yEd's lower right corner. (If you click into the corresponding text field close to its right border, a larger text editor dialog is opened for more comfortable text editing.) Aside from that, you could also use the "Text" editor field in the properties dialog that is opened with F6, or edit label texts in the structure view in yEd's lower left corner.

That said, this is a strange problem indeed. After a first code review, I could not find differences in the inline editor code compared to the other editor codes that would explain the differences in behavior. To be honest, at this point I am not even sure if I will be able to identify the root cause, because the cause might very well lie in an operating system specific part of the Java runtime library or one of the closed source third-party libraries we use in yEd. (In other words, do not wait for this to get fixed but use one of the workarounds mentioned above.)

OK, I will use the workarounds.

Thanks for looking into this.
Legal Disclosure | Privacy Policy