13 KiB
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 als dauerhafte Lösung. Dabei sind weder Installation, noch Neustart oder Admin-Rechte erforderlich.
ReNeo kann in zwei Varianten genutzt werden:
- Im Standalone-Modus ersetzt ReNeo alle Tastendrücke des nativen Layouts (in der Regel Qwertz) durch das gewünschte Neo-Layout. Dafür muss lediglich
reneo.exe
ausgeführt werden, bspw. über einen Autostart-Eintrag. - Im Erweiterungsmodus installiert man zusätzlich den nativen Neo-Treiber kbdneo 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
- ReNeo herunterladen (oder hier) und in ein Verzeichnis mit Schreibrechten entpacken (z.B.
C:\Users\[USER]\ReNeo
). - (optional)
config.json
nach eigenen Wünschen anpassen 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.
!!! 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.
Funktionen
Allgemein
- Unterstützt von Haus aus die folgenden Neo-basierten Layouts: Neo, Bone, NeoQwertz, AdNW, KOY, Mine, 3l
- ein Wechsel zwischen diesen Layouts erfolgt über das Traymenü
- weitere Layouts können in
layouts.json
(siehe Layouts anpassen) hinzugefügt und/oder angepasst werden
- Alle Zeichen von toten Tasten und Compose-Sequenzen im Linux-kompatiblen Format. Diese sind auch durch den Nutzer erweiterbar. Beim Start werden alle
.module
-Dateien im Verzeichniscompose/
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 unter hotkeys
.
Als Erweiterung zum nativen Treiber
- Steuertasten auf Ebene 4
- 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.
- Compose-Taste ++Mod3+Tab++ sendet keinen (zusätzlichen) Tab mehr an die Anwendung. Workaround für diesen Bug.
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.
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 (in hexadezimaler Schreibweise) generieren. Dazu ist die Compose-Sequenz ♫uu
, gefolgt vom Codepoint und einem Leerzeichen (␣
), einzugeben. Führende Nullen werden ignoriert.
!!! example "Beispiele"
| 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
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 dielayouts.json
definiert sind. -
language
: Sprache des Programms. Zur Auswahl stehengerman
undenglish
. -
osk
: Die folgenden Optionen beeinflussen die Darstellung der Bildschirmtastaturnumpad
: Soll das Numpad in der Bildschirmtastatur angezeigt werden?numberRow
: Soll die Zahlenreihe angezeigt werden?theme
: Farbschema für Bildschirmtastatur. Mögliche Werte:Grey
undNeoBlue
layout
:iso
oderansi
modifierNames
:standard
(Mod3, Mod4 usw.) oderthree
(Sym, Cur) für das Three-Layout
-
hotkeys
: Hotkeys für verschiedene Funktionen. Beispiel:Ctrl+Alt+F5
oderShift+Alt+Key_A
. Erlaubte Modifier sind Shift, Ctrl, Alt, Win. Die Haupttaste ist ein beliebiger VK aus dieser Auflistung, die auf der Win32-Doku basiert. Ist ein Wertnull
, wird kein globaler Hotkey angelegt.toggleActivation
: ReNeo aktivieren / deaktivierentoggleOSK
: 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++.
-
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:
"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 immer auftrue
gesetzt sein. Bei Laptops mit nativer Numpad-Ebene im Hauptfeld kann dieses Verhalten aber mitfalse
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.
- 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
!!! 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 Beispiel36+
für die rechte Shift-Taste. Mögliche Modifier sindLShift
,LCtrl
,LAlt
,LMod3
,LMod4
(jeweils auch rechte Variante) sowie weitere Mod-TastenMod5
bisMod9
.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 dabeikeysym
: X11-Keysym der Taste, entweder auskeysymdef.h
oder in der FormU1234
für Unicode-Zeichen. Wird für Compose benutzt.- Entweder
vk
: Windows Virtual Key aus dem EnumVKEY
inmapping.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 vonchar
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 sindLShift
,RShift
,LCtrl
,RCtrl
,LAlt
.
Zum Erstellen neuer Layouts hat sich folgender Arbeitsablauf bewährt:
- Bestehendes Layout kopieren und neuen Namen eintragen
- 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. - Mit Blockauswahl die Scancodes eines bestehenden Layouts kopieren, und die (jetzt falsch geordneten) Scancodes des neuen Layouts überschreiben.
- Mit Blockauswahl Ebenen 3 und 4 eines bestehenden Layouts kopieren, und Ebenen 3 und 4 des neuen Layouts überschreiben.
modifiers
undcapslockableKeys
ggf. anpassen
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. 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.
Mehr Information über tote Tasten und Compose-Sequnzen gibt es hier.
Für Entwickler
Aktuelle Angaben zur Mitarbeit am Projekt finden sich auf der offiziellen Projektseite.