Version 34 (modified by Annika Roppelt, 15 years ago) ( diff )

an Kapitaliſierung angepaſſt

AHK-Treiber (NeoVars)

Installation

http://neo-layout.org/tastentierchen_fenster.png Einfach die Datei http://neo-layout.org/neo20.exe herunterladen bzw. auf der Hauptseite auf das hier rechts sichtbare Symbol mit dem bunten Windows-Fenster klicken und irgendwo speichern (bspw. auf dem Desktop oder in dem Order »Eigene Dateien«). Nach einem einfachen Doppelklick auf diese .exe-Datei steht Neo in voller Funktionalität zur Verfügung! Das alles geht ohne Administrator-Rechte und ist auf jedem Rechner sofort ausführbar.

Selbstausführender USB-Stick

Siehe dazu Neo für unterwegs.

Rückkehr zum normalen Tastaturlayout

Um kurzzeitig zwischen QWERTZ und Neo hin- und herzuwechseln, kann mit der Tastenkombination Shift+Pause das Skript pausiert bzw. wieder gestartet werden. Gleiches erreicht man auch über einen Doppelklick auf das rote/weiße Neo-Icon im Traybereich (bei der Uhr).

Bildschirmtastatur oder: Wo ist bloß XYZ abgeblieben?

Mit der Tastenkominationen Mod3+F1 (Mod3 ist beim normalen Tastaturlayout CapsLock oder die "#" Taste links neben der Entertaste) erhält man eine graphische Zusammenfassung der Neo-Tastatur. Sie erleichert 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 wird direkt über der Taskleiste positioniert und inaktiv gestartet, d.h. der Eingabefokus verbleibt bei der laufenden Applikation. Sie kann durch erneutes Drücken von Mod3+F1 beendet werden; zudem überlagert sie standardmäßig alle alle anderen Fenster, was mit Mod3+F8 ein- und ausgeschaltet werden kann.

Spezielle Modi

Der AHK unterstützt mehrere spezielle Modi, die zur Laufzeit ein- und ausgeschaltet werden können und untereinander auch kombiniert werden können:

  • Lernmodus (M3+F9)
  • Einhandmodus (M3+F10)
  • Lang-s-Tastatur (M3+F11)
  • VM-Belegungsvariante (M3+F12)
  • Zurücksetzen der Tastatur (M3+Esc)

Lern-Modus

In diesem Modus werden mehrere Tasten deaktiviert, um den Nutzer beim Erlernen der von NEO angeboteten besseren Alternativen zu unterstützen. Beispielsweise werden die Zahlen auf dem Hauptfeld, die »große« Enter-Taste und die Pfeiltasten deaktiviert, um den Nutzer den konsequenten Gebrauch der vierten Ebene anzugewöhnen.

Ein-Hand-Modus

Ermöglicht das bequeme Tippen ausschließlich mit der rechten Hand. Die Buchstaben unter der rechten Hand werden bei gedrückter Leertaste spiegelbildlich zu den Buchstaben unter der linken Hand. Ein Nebeneffekt ist, dass es somit beim Festhalten von Space keine wiederholten Leerzeichen mehr gibt.

Lang-s-Tastatur

Um den korrekten Satz des langen s (»ſ«) zu erleichtern, wurde der Lang-s-Modus geschaffen. Er vertauscht zyklisch s, ſ und ß (s wird zu ſ, ſ wird zu ß, ß wird zu s), entsprechend ihrer Häufigkeit bei korrektem Fraktursatz.

VM-Belegungsvariante

Dieser Modus nimmt Anpassungen bei der Buchstabenbelegung vor. Er heißt „VM“, da neben dem M auch das V auf seinem angestammten QWERTZ-Platz verbleibt.

Alle Vokale wurden hier links außen angeordnet, um den linken Zeigefinger vollständig vokalfrei zu haben. Das verringert die Kollisionen von E und O mit den Konsonanten C, W, P und Z deutlich. Gleichzeitig werden die Konsonanten X, V und L von den Vokalen U, I und A getrennt. Fehlt nur noch das Y, das derzeit ganz rechts liegt, und die Vokale liegen auf einem Haufen.

Die sich ergebenden Fingerzuteilungen wurden «nach Gefühl« (also ohne statistische Analysen) optimiert: Alle I/Ü/Y-Laute ganz links, O über U über Ö, A wird von E nach oben geschoben, C und L in der Grundlinie ersetzen E und O. V zurück an seinen QWERTZ-Platz, dafür P auf den frei gewordenen Platz von C.

Summa Summarum ergibt sich damit die folgende Belegung der Buchstabentasten:

Y O A P W K H G F Q ẞ
I U E C L S N R T D X
Ü Ö Ä V Z B M , . J

Die Änderungen gegenüber NEO in-a-Nutshell:

  • U und I haben Plätze getauscht.
  • X und Y haben Plätze getaussht.
  • A→L→O→V→P→C→E→A tauschen zyklisch ihre Plätze.

Zusätzlich hat man auch die griechischen Buchstaben mit ihren lateinischen „wandern“ lassen.

Zurücksetzen der Tastatur

Mit Mod3+Esc können alle Modi wieder rückgängig gemacht werden und die Tastatur wird wieder in den Normalzustand versetzt.

Globale Schalter und die Neo2.ini

Es besteht zudem die Möglichkeit, beim Starten des AHK-Treibers individuelle Anfangswerte für die globalen Schalter des Programms vorzugeben.

Dies geschieht über die Konfigurationsdatei Neo2.ini (diese muss im gebräuchlichen INI-Format vorliegen, also insbesondere ANSI-kodiert sein). Eine Neo2.ini, die alle Werte auf die Standardwerte »ändert«, sähe etwa so aus:

[Global]
; Im folgenden gilt (soweit nicht anders angegeben) stets Ja = 1, Nein = 0.

; Soll der Ein-Hand-Modus beim Programmstart bereits aktiviert sein?
einHandNeo=0

; Soll der Lern-Modus beim Programmstart bereits aktiviert sein?
lernModus=0

; Soll der Lang-s-Modus beim Programmstart bereits aktiviert sein?
LangSTastatur=0

; Soll CapsLock auch bei den Ziffern und Satzzeichen wirken?
striktesMod2Lock=0

; Soll beim Einschalten des Mod4-Locks eine Warnmeldung ausgegeben werden?
zeigeLockBox=1

; Soll das Aktivieren des Mod-4-Locks über das 3. Numpad-Light angezeigt werden?
UseMod4Light=1

; Sollen tote Tasten nicht am Bildschirm ausgegeben werden?
DeadSilence=1

; Sollen Cokos nicht am Bildschirm ausgegeben werden?
DeadCompose=1

; Die Cokos werden dynamisch aus einer lokalen Kopie des SVN erzeugt
dynamischesCompose=0

Diese Datei muss manuell (etwa mit Notepad) in dem richtigen Verzeichnis innerhalb der Anwendungsdaten des aktuellen Nutzers angelegt werden. Unter Windows Vista ist dies etwa das Verzeichnis C:\Users\<BENUTZERNAME>\AppData\Roaming\Neo2\Neo2.ini unter Windows XP hingegen das Verzeichnis C:\Dokumente und Einstellungen\<BENUTZERNAME>\Anwendungsdaten\Neo2\Neo2.ini usw.

Compose

Der NeoVars unterstützt grundsätzlich alle Tote Tasten und Compose-Kombinationen (»Cokos«), die in der Referenz stehen. Zusätzlich gibt es jedoch auch einige nützliche Cokos, die nur im NeoVars zur Verfügung stehen.

Zeichen über den Unicode-Codepoint eingeben (♫uu)

Dies ermöglicht die direkte Eingabe eines Unicode-Zeichens über seinen eindeutigen Unicode-Codepoint (anzugeben im Heximalsystem). Beispielsweise hat das Euro-Zeichen »€« den Codepoint U+20AC und kann infolgedessen über ♫uu20ac{Leertaste oder Enter} erzeugt werden. Obwohl diese Eingabemöglichkeit recht umständlich ist (da man sich nur ungern Codepoints merken will), ermöglicht sie doch die Eingabe aller Unicode-Zeichen. Zudem ist diese Funktion sehr hilfreich, um einen vorgefundenen Codepoint in das entsprechende Zeichen zu verwandeln.

Unicode-Codepoint eines Zeichens ermitteln (♫dd)

Mit dieser Funktion kann der Unicode-Codepoint eines Zeichens ermittelt werden. Die Ausgabe erscheint in einem Ballon-TrayTip und wird im Heximalsystem ausgegeben. Beispielsweise ergibt ♫dda die Ausgabe »U+0061«. Auch die höheren Ebenen werden unterstützt, so ergibt ♫ddε den Codepoint »03B5«. Darüber hinaus wird jedoch nicht nur nur der Codepoint eines unmittelbar eingegeben Zeichens ausgegeben, sondern auch, wenn ein selteneres Zeichen über Compose eingegeben wird. So ergibt ♫dd♫ae die Ausgabe »U+00E6«, den Codepoint von æ. Analog wird auch die Decodierung von Zeichen unterstützt, die mit Hilfe der toten Tasten eingegeben wurden.

Wie mit Neo (♫uw)

Ausgabe von »Wie mit Neo« (♫uw) für das Zeichen ≙ unter dem NeoVars. Diese integrierte Variante von »Wie mit Neo« kann über ♫uw (oder synonym ♫UW) erreicht werden. Vor dem Aufruf muss man das zu suchende Zeichen in der Zwischenablage haben, d.h. es beispielsweise im Browser markiert und mit Strg+C in die Zwischenablage kopiert haben. Sie zeigt nicht nur die Zusammensetzung der Cokos über die benötigten Zeichen an, sondern schlüsselt auch die dafür notwendigen Tastendrücke auf. Zusätzlich unterscheidet es auch zwischen echten Cocos und unerreichbaren, die aufgrund fehlender Direkteingabe nicht möglich sind. Sollten sich mehrere Zeichen im Clipboard befinden, wird nur für das erste Zeichen die mögliche Belegung ausgegeben.

Der Screenshot zeigt exemplarisch die Ausgabe für das Zeichen ≙.

Römische Zahlen (♫rr, ♫rR, ♫Rr, ♫RR)

Der NeoVars ermöglicht die Eingabe römischer Zahlen über ihre dezimale Entsprechung. Beispielsweise ergibt ♫rr7 {Leertaste oder Enter} das Zeichen ⅴⅰⅰ. Die Zahlen können sowohl über die Zahlenreihe, den Ziffernblock oder den Ziffernblock auf der 4. Ebene eingegeben werden. Der Abschluss der Eingabe über die Leer- oder Enter-Taste ist aus Gründen der Eindeutigkeit zwingend notwendig.

Die Ausgabe erfolgt je nach gewähltem Präfix mit Unicode/ASCII-Ziffern als kleine/große römische Zahl:

Präfix Beispiel Beschreibung
♫rr ⅿⅿⅴⅰⅰ Unicode-Ziffern, kleine Zahlen
♫rR ⅯⅯⅤⅠⅠ Unicode-Ziffern, große Zahlen
♫Rr mmvii ASCII-Umschrift, kleine Zahlen
♫RR MMVII ASCII-Umschrift, große Zahlen

Es werden nur die »kanonischen« Abkürzungen verwendet, d.h. ♫rR1999 ergibt ⅯⅭⅯⅩⅭⅠⅩ und nicht ⅯⅠⅯ. Es wird jedoch der volle Zahlenbereich von 1 bis 399.999 unterstützt. Um sinnvoll über die »kanonische« 4000’er-Marke zu kommen, werden die Zeichen aus dem archaischen Unicode-Script verwendet. Da es zudem für 1.000 zwei Varianten gibt (Ⅿ vs. ↀ) und zugleich versucht wurde, einerseits konsistent archaisch zu sein, andererseits das gewohnte Ⅿ aber nicht verschwinden zu lassen, kommt es manchmal zu merkwürdigen Kombinationen (z.B. ♫rR=4900=ↀↁⅭⅯ). Zu guter Letzt folgt hier noch ein Beispiel für die Erzeugung eine unüblich großen römischen Zahl: ♫rR87654=ↇↂↂↂↁↀↀⅮⅭⅬⅠⅤ

Taschenrechner (♫uc und ♫UC)

Dieser integrierte Taschenrechner beherrscht die vier Grundrechnungsarten für Ganzzahl- und Dezimalarithmetik (ohne Potenzen). Infolgedessen muss man für einfache Berechnungen keinen Taschenrechner als extra Applikation bemühen, sondern kann sie »im Textfluss« eingeben. Je nach gewählten Präfix wird die Ausgabe unterschiedlich formatiert:

  • ♫uc{Zahl}{Grundrechenzeichen}{Zahl}{Leertaste/Enter/IstGleich-Zeichen}: Hier wird ausſchließlich das Ergebnis an die Applikation geschickt.
  • ♫UC: Die Eingabe ist genauso wie bei ♫cc, nur dass der ganze Vorgang ein »Echo« bekommt. Es erscheint also die ganze Berechnung in der Applikation und nicht nur das Ergebnis. Das abschließende {Leerzeichen/Enter/IstGleich}-Zeichen wird prinzipiell durch ein IstGleich-Zeichen ersetzt.

Hierzu ein paar Beispiele:

Eingabe Ausgabe
♫uc10*10= 100
♫uc10.5*10.5<enter> 110.250000
♫uC10-20<enter> 10-20=-10
♫uC1/30000<space> 1/30000=0.000033

Bislang kann man die eingegebenen Zahlen nicht korrigieren. Macht man einen Fehler, muss man von vorne beginnen und gegebenenfalls (bei ♫CC) das bereits eingegebene Fragment selbst löschen. Abgesehen davon wird bei Dezimalzahlen die Anzahl der Nachkommastellen vom Skript vorgegeben (Standardwert: 6 Stellen).

Automatischer Start

Bei Bedarf kann man sich eine Verknüpfung mit neo20.exe in den Autostart-Ordner im Startmenü legen, dann hat man die Belegung direkt nach der Anmeldung. In diesem Fall sollte man jedoch auch einen Umstieg auf den nativen kbdNeo2-Treiber erwägen (der jedoch noch nicht vollständig umgesetzt ist).

Temporäre Dateien und gründliche Deinstallation

Die .exe-Datei entpackt beim Ausführen Bilder für die Tray-Icons und die Bildschirmtastatur in einen Neo2-Unterordner des temporären Windows(Umgebungsvariablen-)Ordners (unter Windows XP ist dies etwa C:\Dokumente und Einstellungen\<BENUTZERNAME>\Lokale Einstellungen\Temp\Neo2, under Windows Vista C:\Users\<BENUTZERNAME>\AppData\Local\Temp\NEO2 usw.). Diese Dateien bitte während der Dateiausführung nicht verschieben oder löschen, ansonsten können Laufzeitfehler auftreten. Bei einer gründlichen Deinstallation sollte zudem noch die »NEO2.ini« (genaueres siehe oben) gelöscht werden.

Am Anmeldebildschirm verfügbar machen

Es ist möglich, den NeoVars auch beim Anmeldebildschirm laufen zu lassen, allerdings muss man dafür aber einige Handstände machen.

Es folgt die Anleitung, wie man neo-vars (neo20.exe bzw. neo20-custom.exe) beim Systemstart über zwei Banden so startet, dass damit ein Anmelden am Windows-Logon-Bildschirm möglich ist. Da die Anmeldesitzung mit Winlogon nur eingeschränkte Möglichkeiten hat (es ist ja schließlich kein Explorer gestartet), gehen so nette aber hier wohl unnötige Dinge wie TrayTips nicht, alles Andere sollte aber werkeln, als da wären Bildschirmtastatur, Restart, Deaktivierung über Shift+Pause, Mini-Taschenrechner, usw. Sogar wiemitneo (Compose-uw) läuft, wenn es auch nicht viele Gelegenheiten gibt, es an dieser Stelle einzusetzen. :-)

Diese Anleitung bezieht sich auch Windows XP. Über die entsprechenden Funktionen unter Vista bin ich nicht informiert, schätze aber, dass dessen unterschiedliches Sicherheitskonzept den Aufruf etwas erschwert, und man auf diese Weise nicht zum Ziel kommt. Erfahrungsberichte und insbesondere Patches sind erwünscht.

neo20.exe

Am Einfachsten gelingt die Installation mit einem fertig compilierten neo-vars-exe-file. Dazu kann man die Standard-Edition verwenden, die im Repository liegt oder auch über das Web-Interface einfach und kompakt herunter geladen wird. Alternativ, wenn man beispielsweise Änderungen am Code vorgenommen oder eine individuelle Konfiguration über custom.ahk bereit gestellt hat, kann man make-build-custom.bat aus dem Verzeichnis windows\neo-vars\src aufrufen, um im \out-Verzeichnis die Datei neo20-custom.exe zu erstellen.

Welche Datei auch immer, sie sollte an zentraler Stelle abgespeichert werden, z.B. gleich aus dem ausgecheckten Subversion-Repository: C:\Neo\windows\neo-vars\out\neo20-custom.exe. Der weise Administrator erspart sich stundenlange Späße und verzichtet auf Leerzeichen und andere Sonderzeichen im Pfad.

RunProcess.exe

RunProcess wird zwar schon lange nicht mehr gepflegt, es tut aber immer noch in grandioser Weise seine Pflicht und erlaubt unter Anderem den Start beliebiger Programme auf Windows-Desktops, auf die Programme üblicherweise nicht zugreifen dürfen. Der System-Account besitzt alle dafür nötigen Rechte, und so kann unter Windows XP ein Service dieses Programm starten, um damit den NeoVars auf den Anmeldebildschirm zu zaubern. RunProcess.exe wird der Einfachheit halber nach C:\Neo\_tools kopiert.

nssm.exe

NSSM ist als Service mit integriertem Installer einfach zu verwenden. Vielleicht gelingt die Installation über ein anderes Programm genau so, aber mit diesem war ich erfolgreich und kann es daher empfehlen. :-)

Man kopiert nssm.exe am Besten auch gleich nach C:\Neo\_tools. Von dort ruft man es mit "C:\Neo\_tools\nssm.exe install neovars" auf und freut sich über den anschließenden Dialog. Diesen füllt man von oben nach unten mit den folgenden Daten:

Application: C:\Neo\_tools\RunProcess.exe
Options: /desktop:WinSta0\WinLogon /fi C:\Neo\windows\neo-vars\out\neo20-custom.exe
Service name: neovars

Wer hier die Standard-neo20.exe verwenden will, ersetzt einfach den Dateinamen oder den ganzen Pfad durch einen Verweis auf das entsprechende Executable. Weiter kommt man mit "Install service".

neo20.ini

NeoVars wird am Anmeldebildschirm nunmehr unter dem Benutzeraccount SYSTEM gestartet. Dieser hat zwar ein eigenes Home-Verzeichnis, es werden aber nicht alle benötigten Pfade im Environment gesetzt, sodass ich eine kleine Änderung am neovars durchführen musste, damit NeoVars eine eventuell vorhandene neo20.ini-Datei finden kann. Der Applikationsordner liegt bei mir unter C:\Dokumente und Einstellungen\LocalService\Anwendungsdaten\NEO2, und dort gehört auch in alter Tradition die Ini-Datei hinein. Der Ordner "Anwendungsdaten" gehört gegebenenfalls erstellt (der Name ist übrigens von mir so gewählt und muss auch unter einem englischen XP so heißen und nicht etwa "Application Data"!)

Fertig! Mit "net start neovars" und anschließendem Abmelden bzw. einem Aktivieren der Bildschirmsperre mit Win+L kann man überprüfen, ob der gewünschte Effekt eintritt. Ein Reboot macht die Sache dann ganz klar.

Wer will, startet über neo20.ini automatisch die Bildschirmtastatur – das vermeidet Wutausbrüche über vermeintliche Vertipper bei der Passworteingabe und macht nebenbei auch noch Werbung für Neo. :-)

Appendix A: Sicherheit

Wer über sein (compiliertes) AHK-Skript das Starten von cmd.exe oder gar einen Explorer, Firefox oder Regedit erlaubt, wird sein blaues Wunder erleben, da der Benutzeraccount SYSTEM diese Programme startet und als Über-Administrator über fast unbeschränkte Macht verfügt. Da NeoVars nunmehr vor einer wirkungsvollen Anmeldung zur Verfügung steht (was ja eigentlich auch der Zweck dieser Übung ist), könnte das System über Sicherheitslücken in AHK oder dem eingesetzten neovars-Skript für lokale Eindringlinge „offen“ stehen. Da aber jeder Angreifer mit einigermaßen Grips bei lokalem Zugriff auf den Computer diesen auch ohne derartige Sicherheitslücken missbrauchen kann, halte ich dieses Problem für eher gering – ganz abgesehen davon wird von neovars in seiner Standard-Form kein externes Programm aufgerufen. Letztlich ist aber jeder für seinen Blechtrottel selbst verantwortlich!

Hinweise für Entwickler

Die gibt es auf einer Extraseite.


Neo-Einrichtung unter Windows
Neo-Einrichtung auf anderen Systemen
Hauptseite

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.