Viele neue Optionen ergänzt, Notebook-Einstellung hervorgehoben.

This commit is contained in:
qwertfisch 2021-11-15 02:10:29 +01:00
parent dd23d1ac32
commit edaba103fd
1 changed files with 57 additions and 17 deletions

View File

@ -3,7 +3,7 @@
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.).
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: dazu gehören Capslock, Steuertasten auf Ebene 4, Compose, bessere Kompatibilität mit bestimmten Programmen, usw.
## Installation
@ -13,6 +13,11 @@ ReNeo implementiert das Neo-Tastaturlayout und seine Verwandten (Bone, NeoQwertz
kbdneo kann nachträglich installiert werden, ohne dass Einstellungen geändert werden müssen.
!!! attention "Für Notebook-Besitzer"
Bei Notebooks, die im den Ziffernblock im Hauptfeld integriert haben (bei eingeschaltetem Numlock), sollte die Option `autoNumlock` ausgeschaltet werden. Diese ist standardmäßig eingeschaltet, was nach dem Start zu einem dauerhaft aktivierten Ziffernblock führt und somit einen Teil der Tastatur unbrauchbar macht.
Setzt man diese Einstellung auf `false`, behält ReNeo den (meist ausgeschalteten) Numlock-Status beim Start bei. [Siehe dazu hier](#konfiguration) unter `autoNumlock`.
### Deinstallation
Es genügt, das ReNeo-Verzeichnis zu löschen und ggf. das Programm aus dem Autostart zu entfernen.
@ -22,18 +27,21 @@ Es genügt, das ReNeo-Verzeichnis zu löschen und ggf. das Programm aus dem Auto
### Allgemein
- Unterstützt von Haus aus die folgenden Neo-basierten Layouts: Neo, Bone, NeoQwertz, AdNW, KOY, Mine
- Unterstützt von Haus aus die folgenden Neo-basierten Layouts: Neo, Bone, NeoQwertz, AdNW, KOY, Mine, [3l](https://github.com/jackrosenthal/threelayout)
- 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.
- Einhandmodus: Ist dieser Modus aktiv, wird bei gedrückt gehaltener Leertaste (einstellbar) die gesamte Tastatur „gespiegelt“. Umschalten ist über das Tray-Menü oder per Shortcut ++Mod3+F10++.
Alle Shortcuts sind einstellbar, siehe [Konfiguration](#konfiguration) unter `hotkeys`.
### 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.
- Wird das native Layout als Neo-verwandt erkannt (kbdneo.dll, kbdbone.dll oder 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).
@ -44,21 +52,22 @@ Mit der Tastenkombination ++Mod3+F1++ erhält man eine graphische Zusammenfassun
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.
<!--
### Unicode
Sämtliche Unicode-Zeichen lassen sich direkt durch Eingabe ihres [Codepoints](https://en.wikipedia.org/wiki/Unicode#Architecture_and_terminology) (in hexadezimaler Schreibweise) generieren. Dazu ist die Compose-Sequenz `♫uu`, gefolgt vom Codepoint und einem Leerzeichen (`␣`), einzugeben. Führende Nullen werden ignoriert.
!!! example "Beispiele"
- ` ♫uu41␣` → A (U+0041)
- ` ♫uu292␣` → ʒ (U+0292)
- ` ♫uu2665␣` → ♥ (U+2665)
- `♫uu1f680␣` → 🚀 (U+1F680)
| Eingabe | Ergebnis |
|:--|:--|
|` ♫uu41␣`| → A (U+0041) |
|` ♫uu292␣`| → ʒ (U+0292) |
|` ♫uu2665␣`| → ♥ (U+2665) |
|`♫uu1f680␣`| → 🚀 (U+1F680) |
### Römische Zahlen
Ähnlich wie bei Unicode-Zeichen können auch römische Zahlen automatisch generiert werden. Dazu wird die Compose-Sequenz `♫rn` (kleine Buchstaben) bzw. `♫RN` (große Buchstaben) verwendet. Beispielsweise erzeugt `♫rn74␣` die Zeichenfolge , und `♫RN74␣` entsprechend .
-->
## Konfiguration
@ -67,7 +76,7 @@ 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.
- **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.
@ -75,14 +84,40 @@ Die Datei `config.json` hat folgende Optionen:
- **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.
- `language`: Sprache des Programms. Zur Auswahl stehen `german` und `english`.
- `osk`: Die folgenden Optionen beeinflussen die Darstellung der Bildschirmtastatur
- `numpad`: Soll das Numpad in der Bildschirmtastatur angezeigt werden?
- `numberRow`: Soll die Zahlenreihe angezeigt werden?
- `theme`: Farbschema für Bildschirmtastatur. Mögliche Werte: `Grey` und `NeoBlue`
- `layout`: `iso` oder `ansi`
- `modifierNames`: `standard` (Mod3, Mod4 usw.) oder `three` (Sym, Cur) für das Three-Layout
- `hotkeys`: Hotkeys für verschiedene Funktionen. Beispiel: `Ctrl+Alt+F5` oder `Shift+Alt+Key_A`. Erlaubte Modifier sind Shift, Ctrl, Alt, Win. Die Haupttaste ist ein beliebiger VK aus [dieser Auflistung](https://github.com/Rojetto/ReNeo/blob/5bd304a7c42c768ed45813095ab5fbc69103773c/source/mapping.d#L17), die auf der [Win32-Doku](https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes) basiert. Ist ein Wert `null`, wird kein globaler Hotkey angelegt.
- `toggleActivation`: ReNeo aktivieren / deaktivieren
- `toggleOSK`: Bildschirmtastatur öffnen / schließen. Zusätzlich zu dem hier konfigurierten Hotkey funktioniert immer ++Mod3+F1++.
- `toggleOneHandedMode`: Einhandmodus (de)aktivieren. Zusätzlich funktioniert immer ++Mod3+F10++.
!!! 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.
- `blacklist`: Eine Liste von Programmen, für die ReNeo automatisch deaktiviert werden soll (z. B. X-Server, Remote-Clients oder Spiele, bei denen es sonst Konflikte gibt). Momentan wird nach dem Fenstertitel entschieden, für den man einen regulären Ausdruck.
!!! example "Beispiel"
Für Fenster, die "emacs" oder "Virtual Machine Manager" im Titel enthalten, soll ReNeo sich deaktivieren. Die Config enthält dann diesen Abschnitt:
``` json
"blacklist": [
{
"windowTitle": "emacs"
},
{
"windowTitle": "Virtual Machine Manager"
}
]
```
- `autoNumlock`: Soll Numlock automatisch eingeschaltet werden? Wenn die Tastatur einen echten Ziffernblock besitzt, sollte diese Option für [beste Kompatibilität](https://github.com/Rojetto/ReNeo/issues/32) immer auf `true` gesetzt sein. Bei Laptops mit nativer Numpad-Ebene im Hauptfeld kann dieses Verhalten aber mit `false` deaktiviert werden.
- `filterNeoModifiers`:
- **true** (Standard): Die Tastenevents für ++Mod3++ und ++Mod4++ werden im Erweiterungsmodus von ReNeo weggefiltert, Anwendungen bekommen von diesen Tasten also nichts mit. Workaround für [diesen Bug](https://git.neo-layout.org/neo/neo-layout/issues/510).
- **false**: Anwendungen sehen Mod3/Mod4. Dies ist notwendig, wenn man in den Anwendungen mit diesen Tasten Optionen verknüpfen will.
- `oneHandedMode`:
- `mirrorKey`: Scancode der Taste zum Spiegeln. Standardmäßig ist die Leertaste (Scancode 44) eingestellt.
- `mirrorMap`: Zuordnung der gespiegelten Tasten nach Scancode in der Form `"[Originaltaste]": "[Spiegeltaste]"`. Muss für ergonomische oder Matrixtastaturen ggf. angepasst werden.
## Für Fortgeschrittene und Bastler
@ -95,13 +130,15 @@ In `layouts.json` können Layouts angepasst und hinzugefügt werden. Jeder Eintr
- `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.
- `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. Mögliche Modifier sind `LShift`, `LCtrl`, `LAlt`, `LMod3`, `LMod4` (jeweils auch rechte Variante) sowie weitere Mod-Tasten `Mod5` bis `Mod9`.
- `layers`: Modifier-Kombinationen für jede Ebene. Die Ebenen werden zur Laufzeit nacheinander in der gegebenen Reihenfolge getestet. Es wird die erste Ebene übernommen, deren Modifier die spezifizierten Werte haben.
- `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.
- `mods`: (Optional, nur für VK-Mappings) Modifier, die gedrückt (`true`) oder losgelassen (`false`) werden sollen. Beispiel: `"mods": {"LCtrl": true, "LAlt": true}`. Mögliche Modifier sind `LShift`, `RShift`, `LCtrl`, `RCtrl`, `LAlt`.
Zum Erstellen neuer Layouts hat sich folgender Arbeitsablauf bewährt:
@ -113,6 +150,9 @@ Zum Erstellen neuer Layouts hat sich folgender Arbeitsablauf bewährt:
So bleiben Ebenen 3 und 4 an der richtigen Stelle, und die anderen Ebenen werden nach der neuen Buchstabenanordnung permutiert.
!!! tip "Hinweis"
Folgender regulärer Ausdruck kann beim Ausrichten der Spalten helfen: `"[\dA-Fa-f]+\+?": *\[(\{.*?\}, *){5}\{`
### 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. Die Dateien können nach Belieben verändert sowie neue Dateien hinzugefügt werden.