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

ui
(Rainhard Findling) #1

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:

(Tobias Diez) #2

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

(Rainhard Findling) #3

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

(Tobias Diez) #4

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…

(Rainhard Findling) #5

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!

(Rainhard Findling) #6

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