# ReNeo ReNeo implementiert das Neo-Tastaturlayout und seine Verwandten (Bone, NeoQwertz usw.) für Windows. Es eignet sich zum Ausprobieren, für die kurzfristige Nutzung an fremden Rechnern, aber auch zur dauerhaften Installation ohne Administratorrechte. ReNeo kann dabei in zwei Varianten genutzt werden: 1. Im _Standalone-Modus_ ersetzt ReNeo alle Tastendrücke des nativen Layouts (in der Regel Qwertz) durch das gewünschte Neo-Layout. Dafür muss zum Systemstart nur die `reneo.exe` ausgeführt werden. 1. Im _Erweiterungsmodus_ installiert man zusätzlich den nativen Neo-Treiber [kbdneo](kbdneo.md) bzw. dessen Varianten für Bone oder NeoQwertz. ReNeo ergänzt dann automatisch alle Funktionen, die nativ nicht umsetzbar sind (Capslock, Steuertasten auf Ebene 4, Compose, bessere Kompatibilität mit bestimmten Programmen, usw.). ## Installation - Aktuelles ReNeo-Release [herunterladen](../Download/index.md) und in ein Verzeichnis mit Schreibrechten entpacken (z.B. `C:\Users\[USER]\ReNeo`). - (optional) `config.json` nach eigenen Wünschen [anpassen](#konfiguration) - `reneo.exe` starten oder zum Autostart hinzufügen. Über das Trayicon kann das Programm deaktiviert und beendet werden. kbdneo kann nachträglich installiert werden, ohne dass Einstellungen geändert werden müssen. ### Deinstallation Es genügt, das ReNeo-Verzeichnis zu löschen und ggf. das Programm aus dem Autostart zu entfernen. ## Funktionen ### Allgemein - Unterstützt von Haus aus die folgenden Neo-basierten Layouts: Neo, Bone, NeoQwertz, AdNW, KOY, Mine - ein Wechsel zwischen diesen Layouts erfolgt über das Traymenü - weitere Layouts können in `layouts.json` (siehe [Layouts anpassen](#layouts-anpassen)) hinzugefügt und/oder angepasst werden - Alle Zeichen von toten Tasten und [Compose-Sequenzen](#compose) im Linux-kompatiblen Format. Diese sind auch durch den Nutzer erweiterbar. Beim Start werden alle `.module`-Dateien im Verzeichnis `compose/` geladen. - Capslock (beide Shift-Tasten) und Mod4-Lock (beide Mod4-Tasten) - ++Shift+Pause++ (de-)aktiviert ReNeo - Bildschirmtastatur: Wird über Traymenü ein- und ausgeschaltet, oder per Shortcut ++Mod3+F1++. Die Anzeige wechselt zwischen den Ebenen, wenn Modifier gedrückt werden. ### Als Erweiterung zum nativen Treiber - Steuertasten auf Ebene 4 - Wird das native Layout als Neo-verwandt erkannt (kbdneo.dll, kbdbone.dll, kbdgr2.dll), schaltet ReNeo automatisch in den Erweiterungsmodus. Das Umschalten zwischen nativen Layouts über die Windows-Einstellungen ist ganz normal möglich. - Verbesserte Kompatibilität mit Qt- und GTK-Anwendungen. Workaround für [diesen Bug](https://git.neo-layout.org/neo/neo-layout/issues/510). - Compose-Taste ++Mod3+Tab++ sendet keinen (zusätzlichen) Tab mehr an die Anwendung. Workaround für [diesen Bug](https://git.neo-layout.org/neo/neo-layout/issues/397). ### Bildschirmtastatur Mit der Tastenkombination ++Mod3+F1++ erhält man eine graphische Zusammenfassung der Neo-Tastatur. Sie erleichtert das Finden eines noch nicht so vertrauten Zeichens und hilft zudem beim Erlernen des Blindschreibens, da der Blick auf den Bildschirm und nicht auf die Tastatur gerichtet ist. Werden während der Anzeige der Tastatur verschiedene Modifier (++Shift++, ++Mod3++, ++Mod4++) oder Kombinationen gedrückt, so springt die Abbildung automatisch in die entsprechende Ebene. ![image](images/reneo-bst.png) Die Bildschirmtastatur ist halbtransparent und kann am linken oder rechten Rand angefasst und vergrößert oder verkleinert werden. Hält man sie an einer beliebigen Taste fest, lässt sie sich frei auf dem Bildschirm verschieben. Sie kann durch erneutes Drücken von ++Mod3+F1++ beendet werden. ## Konfiguration ReNeo kann mit zwei Konfigurationsdateien angepasst werden. Die Datei `config.json` hat folgende Optionen: - `standaloneMode`: - **true** (Standard): Das native Layout (z. B. QWERTZ) wird von ReNeo mit dem ausgewählten Neo-Layout ersetzt. !!! tip "Hinweis" Ist das native Layout bereits Neo-verwandt (wie kbdneo), verändert ReNeo das Layout nicht und schaltet stattdessen automatisch in den Erweiterungsmodus. - **false**: Ist das native Layout Neo-verwandt, schaltet ReNeo in den Erweiterungsmodus. Bei allen anderen Layouts deaktiviert sich ReNeo automatisch. - `standaloneLayout`: Das Layout, das für den Standalone-Modus genutzt werden soll. Dies lässt sich auch über das Traymenü auswählen, unter allen Layouts, in die `layouts.json` definiert sind. - `oskNumpad`: Soll das Numpad in der Bildschirmtastatur angezeigt werden? - `sendKeyMode`: - **fakeNative** (Standard): Buchstaben und Sonderzeichen, die im nativen Layout existieren, werden über entsprechende Tastenanschläge und -kombinationen simuliert. So sieht es für Anwendungen aus, als ob das native Layout ganz normal verwendet wird. - **honest**: Sonderzeichen werden grundsätzlich als Unicode-Pakete gesendet. !!! warning "Experimentell" Diese Einstellung ist experimentell und nicht empfohlen. Es können falsche oder auch gar keine Zeichen bei einigen Anwendungen ankommen. Nur verwenden, wenn man weiß, was man tut. ## Für Fortgeschrittene und Bastler !!! important "Hinweis" Die nachfolgenden Abschnitte sind nicht notwendig zur Verwendung von ReNeo. Sie sind dann von Interesse, wenn man Layouts nach eigenen Wünschen detailliert anpassen oder komplett eigene Layouts erstellen möchte. ### Layouts anpassen In `layouts.json` können Layouts angepasst und hinzugefügt werden. Jeder Eintrag besitzt folgende Parameter: - `name`: Name des Layouts, so wie er im Menü angezeigt wird. - `dllName` (optional): Name der zugehörigen nativen Treiber-DLL. Existiert diese nicht, kann der Parameter weggelassen werden. - `modifiers`: Scancodes der Modifier Shift, Mod3 und Mod4 (links und rechts). Mit `+` am Ende wird das Extended-Bit gesetzt, zum Beispiel `36+` für die rechte Shift-Taste. - `capslockableKeys`: Array von Scancodes, die von Capslock beeinflusst werden sollen. Typischerweise sind das alle Buchstaben, inklusive „äöüß“. - `map`: Das tatsächliche Layout in Form von Arrays mit sechs Elementen (für die sechs Ebenen) für jeden Scancode. Jeder Eintrag enthält dabei - `keysym`: X11-Keysym der Taste, entweder aus `keysymdef.h` oder in der Form `U1234` für Unicode-Zeichen. Wird für Compose benutzt. - **Entweder** `vk`: Windows Virtual Key aus dem Enum `VKEY` in `mapping.d`. Nur genutzt für Steuertasten. - **Oder** `char`: Unicode-Zeichen, das mit der Taste erzeugt werden soll. - `label` (optional): Beschriftung für die Bildschirmtastatur. Als Fallback wird der Wert von `char` genutzt. Zum Erstellen neuer Layouts hat sich folgender Arbeitsablauf bewährt: 1. Bestehendes Layout kopieren und neuen Namen eintragen 1. Die Zeilen der Buchstabentasten (also ab Scancode `0C`) neu ordnen, sodass diese auf der Tastatur von oben links nach unten rechts gelesen in der richtigen Reihenfolge sind. 1. Mit Blockauswahl die Scancodes eines bestehenden Layouts kopieren, und die (jetzt falsch geordneten) Scancodes des neuen Layouts überschreiben. 1. Mit Blockauswahl Ebenen 3 und 4 eines bestehenden Layouts kopieren, und Ebenen 3 und 4 des neuen Layouts überschreiben. 1. `modifiers` und `capslockableKeys` ggf. anpassen So bleiben Ebenen 3 und 4 an der richtigen Stelle, und die anderen Ebenen werden nach der neuen Buchstabenanordnung permutiert. ### Compose ReNeo lädt beim Start automatisch alle Compose-Sequenzen, die sich im Verzeichnis `compose/` neben der .exe-Datei befinden. Das Format entspricht dem unter Linux üblichen Format von [XCompose](https://wiki.ubuntuusers.de/Sonderzeichen/#Eigene-Tastenkombinationen). Neben den `.module`-Dateien gibt es auch `.remove`-Dateien. Deren Inhalt _löscht_ eine identische Definition, was notwendig ist, falls mehrere Module-Dateien dieselbe Tastenkombination unterschiedlich belegen wollen. Mehr Information über tote Tasten und Compose-Sequnzen gibt es [hier](../Benutzerhandbuch/Tote-Tasten-und-Compose.md). ## Für Entwickler Aktuelle Angaben zur Mitarbeit am Projekt finden sich auf der [Projektseite](https://github.com/Rojetto/ReNeo/#f%C3%BCr-entwickler).