JabRef+Neo keyboard layout: an old bug in Swing that still exists and effects JabRef

There is an old bug in Swing that unfortunately still exists and also effects JabRef (reported to JabRef 2011): https://sourceforge.net/p/jabref/bugs/1004/
The root bug is not in JabRef, but JabRef is effected by it, unfortunately. I would like to ask the JabRef community: does anyone have any idea how we could maybe finally find our way around this bug?

There is a ton of hacks, etc, out there, that are in some way corresponding to this hack. Some examples:
https://www.google.com/search?q=java+swing+neo+keyboard+layout
https://henkelmann.eu/2010/11/enabling-the-full-neo-2-keyboard-layout-in-awt/swing-java-apps/


https://bugs.openjdk.java.net/browse/JDK-8015288

Anyone any ideas? Thx! :slight_smile:

You can try out the latest development version, where we got rid of most of the swing stuff:
https://builds.jabref.org/master/

Hi Tobias,
I am regularly working on master–latest (your nightly build) and all the neo2 keyboard layout related issues with layer 4 as described in the original bugreport from 2011 are still there. However, if that in fact is not connected to the Swing bug anymore, then it might be a chance now that this is a different bug for which a fix might be possible within JabRef.

To ensure we mean the same thing: the entry editor (when double clicking on an entry in the DB) is not Swing anymore? I ask because non of the fields in the entry editor (from authors to year to comments to the field for the bibtex-code itself) accepts any key input from layer 4 or similar with neo (connected to the “AltGr” key on German keyboards) on any of my machines. If the entry editor really is not Swing anymore then I guess it might be beneficial if I just open a new bug in the JabRef bugtracker: maybe we can track down what the issue is this time and solve it.

Keep up the great work!
BR

No, these text fields are not implemented in Swing but in JavaFX now. I’ve no problems with Neo’s 4th or 5th layer on Windows, so I guess this is a Linux specific issue.

Maybe you can try out one other JavaFX application (like the ones listed here: https://github.com/mhrimaz/AwesomeJavaFX#real-world-examples), so that we know whether the problem is JabRef specific or has its origin in some Java internals…

Thanks, good to know. I was unaware that you are using Neo too, so yes, this might be a Linux specific problem (I use personally use Arch mostly). I’ll check this out, ask around with my Linux+Neo colleagues who use different distros, and afterwards come back to you.
Thx!

Neo Mod4 on my machine does also not work with other JavaFX applications, so this seems like a JavaFX problem, not a JabRef problem.

What exactly is the issue on my setup (JavaFX, Linux, etc) is still unclear. My peers confirmed that there is something with JavaFX on Linux with Neo (keyword: classloader) and pointed me towards the Neo wiki, in which there seems to be a hint which addresss this problem and maybe solves it. However, atm the Neo wiki is down, unfortunately. I’ll post a solution here once we’ve found one.

1 Like

May I ask whether there are any updates on this? Now that OpenFX is fully on GitHub, creating a fix could be easier.