Pa.. das ist doch gar nix!
Unter einem Linux welches auf kyrillisch gesetzt ist (sprich Bulgarien, Russland, etc.) hat man dann bei der Eingabe statt den kyrillischen Zeichen ARABISCHE ZEICHEN!!
Selten so einen Bug gesehen... Habe nach 1 Tag googlen nen Ansatz gefunden und dann ne Lösung gemacht.. Man muss dort nämlich den inputmethoddescriptor überschreiben!
Man muss ein Jar File ins JRE/include Verzeichnis legen!
Dieses Jar File besteht aus 2 Klassen!
Einmal eine Klasse die InputMethodDescriptor implementiert! Und eine 2te Klasse die bei createInputMethod die 2te Klasse zurückgibt, welche InputMethod implementiert!
Dort muss man in der Methode dispatchEvent auf keyEvent abfragen und dort kriegt man (in meinem Fall) einen komplett falschen Hex Code! Den muss man halt umändern und dann zurückgeben..
Desweieteren muss im Jar File noch in der Ordnerstrutktur META-INF/services eine Datei liegen die java.awt.im.spi.InputMethodDescriptor lautet und in dieser Datei steht der Name zu der Klasse die InputMethodDescriptor implementiert!
So kann man halt auch überwachen ob die richtigen Codes gesetzt sind!
Achja in der Klasse die den InputMethodDescriptor implementiert, muss man bei getAvailableLocales die Locale zurückgeben, die man gerne überschreiben will!
Definiert man hier eine eigene muss, man am besten gleich bei der ganzen Klasse (hier ein JFrame) das hier sagen: frame.getInputContext().selectInputMethod(new java.util.Locale("myLocale"));
Also, wennst Zeit hast, probier das mal und schau ob überhaupt der richtige Code geschickt wird oder ob (so wie bei mir) einfach schon ein kompletter Nonsinn geschickt wird..