IntelliJ Editor + Mod 4 = nichts #364

Closed
opened 2013-09-23 17:29:00 +02:00 by anonymous · 16 comments

Hi,
ich nutze erfolgreich die Neo Tastatur unter Windows. Da ich Entwickler bin nutze ich am liebsten die IntelliJ IDE. Unter Windows funktioniert alles einwandfrei, unter Linux hingegen nicht. Ich kann zwar auf Ebene 1 und 2 einwandfrei tippen, wenn ich jedoch die Navigationstasten auf Ebene 4 verwenden möchte passiert leider rein gar nichts.
Hat von euch jemand das gleiche Problem und es schon lösen können?

Hi, ich nutze erfolgreich die Neo Tastatur unter Windows. Da ich Entwickler bin nutze ich am liebsten die IntelliJ IDE. Unter Windows funktioniert alles einwandfrei, unter Linux hingegen nicht. Ich kann zwar auf Ebene 1 und 2 einwandfrei tippen, wenn ich jedoch die Navigationstasten auf Ebene 4 verwenden möchte passiert leider rein gar nichts. Hat von euch jemand das gleiche Problem und es schon lösen können?
anonymous added the
Bug
Treiber/Linux/xkbmap
labels 2013-09-23 17:29:00 +02:00

Hallo,

welche Java-Version hast du denn installiert? Bei mir geht in Java-Programmen (ich nutze Jabref und Jameica) mittlerweile auch die 4. Ebene, hier ein paar Kenndaten:

Arch Linux, 64bit

Ich nutze die xkbmap mit den in #346 vorgeschlagenen Änderungen.

JRE: jre7-openjdk-7.u40_2.4.1 und jre-openjdk-headless-7.u40_2.4.1

JDK: jdk7-openjdk-7.u40_2.4.1

Seit Version 1.7 sollten die Ebenen eigentlich alle funktionieren, siehe auch Ticket #129, in dem du ja schon gepostet hast.

Evtl. liegt es also an der Xmodmap?

Hallo, welche Java-Version hast du denn installiert? Bei mir geht in Java-Programmen (ich nutze Jabref und Jameica) mittlerweile auch die 4. Ebene, hier ein paar Kenndaten: Arch Linux, 64bit Ich nutze die `xkbmap` mit den in #346 vorgeschlagenen Änderungen. JRE: `jre7-openjdk-7.u40_2.4.1` und `jre-openjdk-headless-7.u40_2.4.1` JDK: `jdk7-openjdk-7.u40_2.4.1` Seit Version 1.7 sollten die Ebenen eigentlich alle funktionieren, siehe auch Ticket #129, in dem du ja schon gepostet hast. Evtl. liegt es also an der Xmodmap?
Author

Hi,
ich nutze:

  • Ach Linux 64 bit
  • jdk 7.40-1 (von Oracle ausm AUR)

Ich bin jetzt ein bisschen durcheinander bezüglich dem ganzen xmodmap, xkbmap usw. Auch weiß ich jetzt nicht was wo installieren / verändern muß. Könntest du mir da vielleicht helfen? Aus den Wiki Artikeln hier werde ich auch nicht schlau irgendwie.

Hi, ich nutze: - Ach Linux 64 bit - jdk 7.40-1 (von Oracle ausm AUR) Ich bin jetzt ein bisschen durcheinander bezüglich dem ganzen xmodmap, xkbmap usw. Auch weiß ich jetzt nicht was wo installieren / verändern muß. Könntest du mir da vielleicht helfen? Aus den Wiki Artikeln hier werde ich auch nicht schlau irgendwie.

Ok, dann machen wir's langsam:

  1. gibt es einen bestimmten Grund, weswegen du auf ein AUR-Paket zurückgreifst, anstatt jdk7-openjdk und jre7-openjdk aus dem extra Repository zu nehmen? Höchstwahrschl. würde das schon alle deine Probleme lösen.

  2. Wie es scheint, hast du Neo nicht manuell installiert, sondern in deiner Desktop-Umgebung (welche ist das?) aktiviert. Das bedeutet, du benutzt die xkbmap, denn in der grafischen Oberfläche werden unter X die verschiedensprachigen Keyboard-Definitionen im Paket xkeyboard-config geladen, wo seit vielen Jahren nun auch schon Neo2 enthalten ist. Zusätzlich zur systemweiten Einstellung in der xkbmap gibt es aber auch noch die Möglichkeit, im home-Ordner des Users eine .Xmodmap anzulegen in der einzelne Tasten umdefiniert werden können, z.B. wollen manche q/ß vertauschen. Mehr Infos zu diesem System findest du unter ¹. So und manchmal kann die xmodmap problematisch sein, da du sie aber wahrschl. nicht benutzt, ist das hier wahrschl. auszuschließen.

  3. Wenn die 4. Ebene auf deinem System geht, gehen wir dazu über, auch das Markieren mit der 4. Ebene zu aktivieren, was nämlich in #346 besprochen wurde…

¹ https://wiki.archlinux.org/index.php/Xmodmap

Ok, dann machen wir's langsam: 1. gibt es einen bestimmten Grund, weswegen du auf ein AUR-Paket zurückgreifst, anstatt `jdk7-openjdk` und `jre7-openjdk` aus dem extra Repository zu nehmen? Höchstwahrschl. würde das schon alle deine Probleme lösen. 2. Wie es scheint, hast du Neo nicht manuell installiert, sondern in deiner Desktop-Umgebung (welche ist das?) aktiviert. Das bedeutet, du benutzt die `xkbmap`, denn in der grafischen Oberfläche werden unter X die verschiedensprachigen Keyboard-Definitionen im Paket `xkeyboard-config` geladen, wo seit vielen Jahren nun auch schon Neo2 enthalten ist. Zusätzlich zur systemweiten Einstellung in der `xkbmap` gibt es aber auch noch die Möglichkeit, im `home`-Ordner des Users eine `.Xmodmap` anzulegen in der einzelne Tasten umdefiniert werden können, z.B. wollen manche q/ß vertauschen. Mehr Infos zu diesem System findest du unter ¹. So und manchmal kann die xmodmap problematisch sein, da du sie aber wahrschl. nicht benutzt, ist das hier wahrschl. auszuschließen. 3. Wenn die 4. Ebene auf deinem System geht, gehen wir dazu über, auch das Markieren mit der 4. Ebene zu aktivieren, was nämlich in #346 besprochen wurde… ¹ https://wiki.archlinux.org/index.php/Xmodmap
Author

Hi,
danke für die Hilfe. Ja, es gibt einen Grund warum ich auf das JDK von Oracle zugreiffe: IntelliJ und auch das Android SDK unterstützen explizit das OpenJDK nicht. Bei IntelliJ kommt sogar eine Meldung dass man bitte das von Oracle benutzen soll.
Ich habe es sowohl unter Gnome (mittels der Tastatur Konfiguration), als auch unter LXDE und dem Befehl "setxkbmap de neo" probiert.
Die Ebene 4 funktioniert ja auch einwandfrei, nur nicht im Code Editor Fenster von IntelliJ. Laut Internet Recherchen ist dass vermutlich ein Bug in Swing / AWT. Ich bin mir auch ziemlich ziemlich sicher dass es bei dir nicht funktioniert. Zum Testen könntest du schnell über pacman die Community Edition von IntelliJ installieren und ausprobieren ob du im Code Editor mit der Ebene 4 navigieren kannst?

Hi, danke für die Hilfe. Ja, es gibt einen Grund warum ich auf das JDK von Oracle zugreiffe: IntelliJ und auch das Android SDK unterstützen explizit das OpenJDK nicht. Bei IntelliJ kommt sogar eine Meldung dass man bitte das von Oracle benutzen soll. Ich habe es sowohl unter Gnome (mittels der Tastatur Konfiguration), als auch unter LXDE und dem Befehl "setxkbmap de neo" probiert. Die Ebene 4 funktioniert ja auch einwandfrei, nur nicht im Code Editor Fenster von IntelliJ. Laut Internet Recherchen ist dass vermutlich ein Bug in Swing / AWT. Ich bin mir auch ziemlich ziemlich sicher dass es bei dir nicht funktioniert. Zum Testen könntest du schnell über pacman die Community Edition von IntelliJ installieren und ausprobieren ob du im Code Editor mit der Ebene 4 navigieren kannst?

Hallo, ich habe kurz intellij-idea-community-edition installiert und kann das Problem bestätigen.

Auf dieser Wikiseite findest du zwei Hacks, die von Neolingen erstellt wurden, um diesen Upstream Bug (siehe z.B. auch einen alten Bugreport, den ich bei jabref erstellt habe) zu beheben. Dieser wurde außerdem ausführlich in #129 diskutiert.

Hoffentlich hilft das weiter.

Hallo, ich habe kurz `intellij-idea-community-edition` installiert und kann das Problem bestätigen. Auf dieser [Wikiseite](wiki/JavaMod4Fix) findest du zwei Hacks, die von Neolingen erstellt wurden, um diesen Upstream Bug (siehe z.B. auch einen alten [Bugreport](http://sourceforge.net/p/jabref/bugs/1004/), den ich bei jabref erstellt habe) zu beheben. Dieser wurde außerdem ausführlich in #129 diskutiert. Hoffentlich hilft das weiter.
Author

Danke für die Hilfe, aber beim Bug mit der Id #129 habe ich bereist darunter geschrieben dass ich das Problem auch habe. Die Workarounds helfen nichts. Das Problem tritt auch im "Android Studio" auf (logisch, da das "Android Studio" auf IntelliJ basiert).
Ich vermute dass es keine Lösung gibt. Schade, hätte Neo gerne benutzt.

Danke für die Hilfe, aber beim Bug mit der Id #129 habe ich bereist darunter geschrieben dass ich das Problem auch habe. Die Workarounds helfen nichts. Das Problem tritt auch im "Android Studio" auf (logisch, da das "Android Studio" auf IntelliJ basiert). Ich vermute dass es keine Lösung gibt. Schade, hätte Neo gerne benutzt.

Ein letzter Versuche wäre, herauszufinden, welches Toolkit der IntelliJ Editor nutzt. Im Fall von Jameica hat mir damals der Programmierer davon geantwortet, dass er SWT als Widget Toolkit verwendet, was auf die nativen Controls des Betriebssystems zugreift, und deshalb gab es eben mit Jameica schon früher keine Probleme mehr. Jabref hingegen verwendet laut oben verlinktem externen Bugreport SWING, was diesen Fehler noch länger hatte, aber inzwischen auch nicht mehr.

Da es letztlich im Aufgabenbereich der jeweiligen Programmierer*innen liegt, ihre Programme/Textboxen funktional zu halten, wäre es also ratsam, herauszufinden, womit Initellij seine Textboxen (bzw. ganz spezifisch das Code-Feld) programmiert um dann bei dem jeweiligen Projekt den Fehler zu melden.

Ein letzter Versuche wäre, herauszufinden, welches Toolkit der IntelliJ Editor nutzt. Im Fall von Jameica hat mir damals der Programmierer davon geantwortet, dass er SWT als Widget Toolkit verwendet, was auf die nativen Controls des Betriebssystems zugreift, und deshalb gab es eben mit Jameica schon früher keine Probleme mehr. Jabref hingegen verwendet laut oben verlinktem externen Bugreport SWING, was diesen Fehler noch länger hatte, aber inzwischen auch nicht mehr. Da es letztlich im Aufgabenbereich der jeweiligen Programmierer*innen liegt, ihre Programme/Textboxen funktional zu halten, wäre es also ratsam, herauszufinden, womit Initellij seine Textboxen (bzw. ganz spezifisch das Code-Feld) programmiert um dann bei dem jeweiligen Projekt den Fehler zu melden.
Author

Alles klar, danke. Ich werde mal die Kollegen von Jetbrains kontaktieren. Hoffentlich haben die eine Lösung. Bin mittlerweile doch recht überzeugt vom Neo Layout ;-)

Alles klar, danke. Ich werde mal die Kollegen von Jetbrains kontaktieren. Hoffentlich haben die eine Lösung. Bin mittlerweile doch recht überzeugt vom Neo Layout ;-)
Bugreport für IntelliJ: http://youtrack.jetbrains.com/issue/IDEA-113997
Author

Hi,

leider hat sich hier noch garnichts getan. Ich verzweifel so langsam. Ich habe es hinbekommen vernünftig mit java6 zu programmieren aber so langsam komm ich um 7 nicht mehr rum und hier funktioniert nur die openJDK Version die zu vielen Problemen bei IntelliJ führen. Kann man denn hier nichts machen? Oder verwende ich hier irgendwas nicht richtig?

Hi, leider hat sich hier noch garnichts getan. Ich verzweifel so langsam. Ich habe es hinbekommen vernünftig mit java6 zu programmieren aber so langsam komm ich um 7 nicht mehr rum und hier funktioniert nur die openJDK Version die zu vielen Problemen bei IntelliJ führen. Kann man denn hier nichts machen? Oder verwende ich hier irgendwas nicht richtig?
Author

Du könntest das xkeyboard-config von adnw.de ausprobieren:

http://adnw.de/uploads/Main/Downloads/AdNW-xkc.tar.gz

Im Wesentlichen ist darin die altbekannte Redirect-Methode umgesetzt (auch für Neo 2).

Du könntest das xkeyboard-config von adnw.de ausprobieren: > http://adnw.de/uploads/Main/Downloads/AdNW-xkc.tar.gz Im Wesentlichen ist darin die altbekannte Redirect-Methode umgesetzt (auch für Neo 2).
Author

Ich habe eine neue version des neo2 hacks für Java 8 / Android Studio / IntelliJ gebaut. Bei mir (Ubuntu 14.04, 64Bit, Android Studio 0.9.3) funktioniert die 4. Ebene damit jetzt bis auf insert & undo. Hier findet Ihr eine beschreibung & einen download für das jar mit dem hack:

https://github.com/chenkelmann/neo2-awt-hack

Ich habe eine neue version des neo2 hacks für Java 8 / Android Studio / IntelliJ gebaut. Bei mir (Ubuntu 14.04, 64Bit, Android Studio 0.9.3) funktioniert die 4. Ebene damit jetzt bis auf insert & undo. Hier findet Ihr eine beschreibung & einen download für das jar mit dem hack: https://github.com/chenkelmann/neo2-awt-hack
Author

Ich habe eine neue version des neo2 hacks für Java 8 / Android Studio / IntelliJ gebaut. Bei mir (Ubuntu 14.04, 64Bit, Android Studio 0.9.3) funktioniert die 4. Ebene damit jetzt bis auf insert & undo. Hier findet Ihr eine beschreibung & einen download für das jar mit dem hack:

https://github.com/chenkelmann/neo2-awt-hack

Ich habe eine neue version des neo2 hacks für Java 8 / Android Studio / IntelliJ gebaut. Bei mir (Ubuntu 14.04, 64Bit, Android Studio 0.9.3) funktioniert die 4. Ebene damit jetzt bis auf insert & undo. Hier findet Ihr eine beschreibung & einen download für das jar mit dem hack: https://github.com/chenkelmann/neo2-awt-hack

Seit mit PyCharm 2019.1 Java 11 mitgeliefert wird, funktioniert -Xbootclasspath/p nicht mehr bei mir und ich kann den neo2-awt-hack nicht mehr nutzen. Siehe auch: https://github.com/chenkelmann/neo2-awt-hack/issues/3

Seit mit PyCharm 2019.1 Java 11 mitgeliefert wird, funktioniert -Xbootclasspath/p nicht mehr bei mir und ich kann den neo2-awt-hack nicht mehr nutzen. Siehe auch: [https://github.com/chenkelmann/neo2-awt-hack/issues/3](https://github.com/chenkelmann/neo2-awt-hack/issues/3)
Author

Hm, also wie ist das reproduzierbar? Ebene4 funktioniert bei mir ohne jede Modifikation einwandfrei unter IntelliJ und Android-Studio. Funktioniert statt Ebene 4 denn wenigstens Ebene 7? (Mod4+Shift)

android-studio-3.3.0.20.182.5199772
idea-community-2018.3.3.183.5153.38
user-vm (überschreibt nicht die IDE-eigenen):
openjdk-11.0.2_p7

Hm, also wie ist das reproduzierbar? Ebene4 funktioniert bei mir ohne jede Modifikation einwandfrei unter IntelliJ und Android-Studio. Funktioniert statt Ebene 4 denn wenigstens Ebene 7? (Mod4+Shift) android-studio-3.3.0.20.182.5199772 idea-community-2018.3.3.183.5153.38 user-vm (überschreibt nicht die IDE-eigenen): openjdk-11.0.2_p7

Hm, also wie ist das reproduzierbar? Ebene4 funktioniert bei mir ohne jede Modifikation einwandfrei unter IntelliJ und Android-Studio. Funktioniert statt Ebene 4 denn wenigstens Ebene 7? (Mod4+Shift)

Du hattest vermutlich kein IdeaVim installiert. In IntelliJ ohne dieses VIM Plugin funktioniert Neo halbwegs problemlos (außer im eingebauten Terminal). Es gibt aber einen offenen PR auf IdeaVim der das Problem löst, falls jemand ähnliche Probleme hat: https://github.com/JetBrains/ideavim/pull/155#issuecomment-477623881

> Hm, also wie ist das reproduzierbar? Ebene4 funktioniert bei mir ohne jede Modifikation einwandfrei unter IntelliJ und Android-Studio. Funktioniert statt Ebene 4 denn wenigstens Ebene 7? (Mod4+Shift) Du hattest vermutlich kein IdeaVim installiert. In IntelliJ ohne dieses VIM Plugin funktioniert Neo halbwegs problemlos (außer im eingebauten Terminal). Es gibt aber einen offenen PR auf IdeaVim der das Problem löst, falls jemand ähnliche Probleme hat: https://github.com/JetBrains/ideavim/pull/155#issuecomment-477623881
qwertfisch added the
Java
label 2020-06-20 21:54:27 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: neo/neo-layout#364
No description provided.