# Java: Mod4-Fix

## Einführung
Unter [#129](https://git.neo-layout.org/neo/neo-layout/issues/129) wurde das Fehlen des Mod4-Steuerkreuzes in Javaprogrammen ausgiebig diskutiert und ein zwei Hacks dafür gefunden, die eine Klasse der Java-Standardbibliothek ersetzt. Nur einer von beiden ist nötig.

!!! info "Auftreten des Fehlers"
    Dieser Fehler tritt nur bis zur Java-Version 1.6 auf. Mit 1.7 wurde der Fehler endlich behoben.

    **Fabian Streitel:** Der Fehler tritt in Sonderfällen unter 1.8 noch auf, siehe [diesen Kommentar](https://git.neo-layout.org/neo/neo-layout/issues/129#issuecomment-1084)

## AWT-Hack von Christoph Henkelmann
### für xkbmap
Original Blogpost, der die Technik erklärt: [http://henkelmann.eu/2010/11/20/neo2_java_swing_awt_hack](http://henkelmann.eu/2010/11/20/neo2_java_swing_awt_hack)

Die aktuelle Variante ist auf GitHub zu finden: [https://github.com/chenkelmann/neo2-awt-hack](https://github.com/chenkelmann/neo2-awt-hack)
### für xmodmap
Wenn man die Neo-Xmodmap verwendet, braucht man diese Variante: [http://erikstreb.de/linux/neo2-awt-hack-0.2xmod.jar](http://erikstreb.de/linux/neo2-awt-hack-0.2xmod.jar). Dort wurde im Javaquellcode in Zeile 235 der Mod4-Keystate von 0x20 nach 0x80 geändert.

## Swing-Hack von Fabian Streitel

!!! warning "Bitte beachten"
    Seit langem nicht mehr aktualisiert!

[https://github.com/karottenreibe/Neo2SwingHack](https://github.com/karottenreibe/Neo2SwingHack)

Die .jar-Datei muss selbst aus den Quellen gebaut werden.

## Kurzanweisungen für beide Hacks
  1. Sich die .jar-Datei herunterladen und irgendwo speichern
  2. Im Java-Programmaufruf einen zusätzlichen Parameter übergeben:  
     `java -Xbootclasspath/p:/PFAD/ZU/HACK.jar` …

## Netbeans
  1. Sich die .jar-Datei herunterladen und irgendwo speichern
  2. /netbeans-ordner/etc/netbeans.conf editieren
  3. zu netbeans_default_options folgendes hinzufügen:  
     `-J-Xbootclasspath/p:/PFAD/ZU/neo2-awt-hack-0.2.jar`
