Wiki:Neo unter Windows einrichten/NeoVars

AHK-Treiber (NeoVars)

Das Wichtigste

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.

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:

Zurücksetzen der Tastatur (M3+Esc)

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

QWERTZ-Belgungsvariante (M3+F6)

In diesem Modus wird die 1. und 2. Ebene auf das QWERTZ-Layout eingestellt. Somit ist es möglich von den Sonderzeichen in Ebene 3-6 zu profitieren aber weiterhin das deutsche Standardlayout zu verwenden.

Lern-Modus (M3+F9)

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 (M3+F10)

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 (M3+F11)

Der Fraktursatz mit dem langen s (ſ) wird ausführlich auf der eigenen Seite Fraktursatz behandelt.

Nordtast-Belegungsvariante (M3+F12)

Dies aktiviert die aus den Ideen von Neo entstandene Nordtast-Belegung von Ulf Bro.

Benutzerdefiniertes Layout

Zusätzlich zu den vorgegebenen Layouts besteht mittlerweile die Möglichkeit, ein eigenes Layout zu definieren, ohne den Treiber selbst ändern zu müssen. Dazu wird ein globaler Schalter in der Konfigurationsdatei definiert (siehe nachfolgenden Abschnitt), der die 33 Standardzeichen des Hauptfelds enthält (a-z, ä, ö, ü, ß, Punkt, Komma und Bindestrich). Dabei entspricht das erste Zeichen der ß-Taste auf Qwertz, danach die drei Hauptreihen von links nach rechts (obere Reihe, Grundreihe, untere Reihe) ohne die Akzent- oder Modtasten. Hier ein Beispiel für Neo2:

[Global]
customLayout="-xvlcwkhgfqßuiaeosnrtdyüöäpzbm,.j"

Ein weiteres Beispiel für Bone:

[Global]
customLayout="-jduaxphlmwßctieobnrsgqfvüäöyz,.k"

Das Layout ist beim Starten des Treibers aktiv (statt Neo2) und kann auch zu den anderen Modi gewechselt werden. Leider ist es momentan nicht möglich, anschließend wieder zum selbstdefinierten Layout zurückzukehren. Dafür muss der Treiber kurz beendet und neu gestartet werden.

Globale Schalter für Fortgeschrittene

Zudem besteht 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

; Mit diesem Schalter ist es möglich, NeoVars direkt mit Nordtast oder ADNW zu starten
; 1 = Nordtast, 2 = ADNW
isNordtast=0

; Mit diesem Schalter ist es möglich, NeoVars direkt mit Qwertz zu starten
isQwertz=0

; NumLock ausschalten (nötig bei Notebooks und anderen Tastaturen mit integriertem Fn-Ziffernblock)
NumLockOff=1

; Ein benutzerdefiniertes Layout für den Start des Treibers festlegen
customLayout="-xvlcwkhgfqßuiaeosnrtdyüöäpzbm,.j"

Diese Datei muss manuell (etwa mit Notepad) in dem richtigen Verzeichnis innerhalb der Anwendungsdaten des aktuellen Nutzers angelegt werden: %APPDATA%\Neo2\Neo2.ini (Die %AppData%-Umgebungsvariable wird automatisch aufgelöst. Unter Windows 7 und Vista ergibt dies etwa das Verzeichnis C:\Users\%USERNAME%\AppData\Roaming\Neo2\Neo2.ini unter deutschem Windows XP hingegen das Verzeichnis C:\Dokumente und Einstellungen\%USERNAME%\Anwendungsdaten\Neo2\Neo2.ini usw.)

Individuelles Zusatz-Skript

Sofern man NeoVars als AHK-Skript startet und nicht als vorcompiliertes .EXE, hat man die Möglichkeit, die Datei Custom.ahk im Neo2-Anwendungsdaten-Verzeichnis (siehe voriger Abschnitt) in den NeoVars-Start einzubinden. Über diesen Mechanismus kann man auf sämtliche Funktionen von AutoHotKey zugreifen und auch am Innersten von NeoVars Anpassungen vornehmen.

Man kann Custom.ahk beispielsweise benützen, um das Tastaturlayout permanent oder auch per Hotkey, den individuellen Wünschen entsprechend, änderbar zu machen. Im Anschluss ist ein Skript zu sehen, das die alternative MU-HP-Variante einrichtet und per Hotkey M3+F8 zugänglich macht.

; -*- encoding:utf-8 -*-
; NEO-MUHP
; (c) 2009 Matthias Wächter


CharProc__UHPt() {
  global
  ; Custom Layout togglen
  isUHP := !(isUHP)
  if (isUHP) {
    CharProc__UHP1()
    if (zeigeModusBox)
      TrayTip,NEO-MU-HP-Belegungsvariante,Die Belegungsvariante wurde aktiviert. Zum Deaktivieren`, Mod3+F8 druecken.,10,1
  } else {
    CharProc__UHP0()
    if (zeigeModusBox)
      TrayTip,NEO-MU-HP-Belegungsvariante,Die Belegungsvariante wurde deaktiviert.,10,1
  }
}

CharProc__UHP1() {
  global
  ; NEO-MU-HP-Tastaturbelegungsvariante aktivieren
  ED12("010",1,"y","Y")
  ED12("011",1,"o","O")
  ED12("012",1,"a","A")
  ED12("013",0,",","–")
  ED12("014",1,"j","J")
  ED12("015",1,"k","K")
  ED12("016",1,"g","G")
  ED12("017",1,"c","C")
  ED12("018",1,"l","L")
  ED12("019",1,"f","F")
  ED12("01A",1,"x","X")

  ED12("01E",1,"i","I")
  ED12("01F",1,"u","U")
  ED12("020",1,"e","E")
  ED12("021",1,"h","H")
  ED12("022",1,"p","P")
  ED12("023",1,"d","D")
  ED12("024",1,"t","T")
  ED12("025",1,"n","N")
  ED12("026",1,"r","R")
  ED12("027",1,"s","S")
  ED12("028",1,"ß","ẞ")

  ED12("02C",1,"ü","Ü")
  ED12("02D",1,"ö","Ö")
  ED12("02E",1,"ä","Ä")
  ED12("02F",0,".","•")
  ED12("030",1,"q","Q")
  ED12("031",1,"v","V")
  ED12("032",1,"m","M")
  ED12("033",1,"b","B")
  ED12("034",1,"z","Z")
  ED12("035",1,"w","W")
}

CharProc__UHP0() {
  global
  ; NEO-MU-DK-Tastaturbelegungsvariante deaktivieren
  ED12("010",1,"x","X")
  ED12("011",1,"v","V")
  ED12("012",1,"l","L")
  ED12("013",1,"c","C")
  ED12("014",1,"w","W")
  ED12("015",1,"k","K")
  ED12("016",1,"h","H")
  ED12("017",1,"g","G")
  ED12("018",1,"f","F")
  ED12("019",1,"q","Q")
  ED12("01A",1,"ß","ẞ")

  ED12("01E",1,"u","U")
  ED12("01F",1,"i","I")
  ED12("020",1,"a","A")
  ED12("021",1,"e","E")
  ED12("022",1,"o","O")
  ED12("023",1,"s","S")
  ED12("024",1,"n","N")
  ED12("025",1,"r","R")
  ED12("026",1,"t","T")
  ED12("027",1,"d","D")
  ED12("028",1,"y","Y")

  ED12("02C",1,"ü","Ü")
  ED12("02D",1,"ö","Ö")
  ED12("02E",1,"ä","Ä")
  ED12("02F",1,"p","P")
  ED12("030",1,"z","Z")
  ED12("031",1,"b","B")
  ED12("032",1,"m","M")
  ED12("033",0,",","–")
  ED12("034",0,".","•")
  ED12("035",1,"j","J")
}

ActivateNEOMUHP() {
  global

  CP3F8  := "P__UHPt"                   ; M3+F8: Aktiviere/Deaktiviere NEO-MU-HP

  IniRead,isMUHP,%ini%,Global,isMUHP,0
  if (isMUHP)
    CharProc__UHP1()

}

ActivateNEOMUHP()

Achtung: Die hier verwendeten Funktionen erfordern umfangreiches Wissen rund um AutoHotKey und NeoVars. Weiters ist das hier dargestellte Skript nur lauffähig, wenn es als UTF-8-Datei abgespeichert wurde.

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 (♫ro, ♫Ro, ♫rO, ♫RO)

Der NeoVars ermöglicht die Eingabe römischer Zahlen über ihre dezimale Entsprechung. Beispielsweise ergibt ♫RO7 {Leertaste oder Enter} die Zeichenfolge ⅤⅠⅠ. 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 als kleine (r) oder große (R) römische Zahl in ASCII- (o) oder Unicode- (O) Darstellung:

Präfix Beispiel (2009) Beschreibung
♫ro mmix Kleine Zahlen, ASCII-Umschrift
♫Ro MMIX Große Zahlen, ASCII-Umschrift
♫rO ⅿⅿⅰⅹ Kleine Zahlen, Unicode-Ziffern
♫RO ⅯⅯⅠⅩ Große Zahlen, Unicode-Ziffern

Es werden nur die »kanonischen« Abkürzungen verwendet, d.h. ♫RO1999 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. ♫RO=4900=ↀↁⅭⅯ). Zu guter Letzt folgt hier noch ein Beispiel für die Erzeugung eine unüblich großen römischen Zahl: ♫RO87654=ↇↂↂↂↁↀↀⅮⅭⅬⅠⅤ

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 ♫uc, 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).

Sonstiges

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).

Selbstausführender USB-Stick mit NeoVars

Siehe dazu Neo für unterwegs.

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, unter Windows Vista und 7 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

Soll auch am Anmeldebildschirm Neo statt Qwertz verwendet werden, kann dies verhältnismäßig einfach über den kbdneo-Treiber erreicht werden. Es ist (mit mehr Aufwand) aber auch möglich, den NeoVars am Anmeldebildschirm verfügbar zu machen.

Hinweise für Entwickler

Die gibt es auf einer ausführlichen Extraseite.


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

zuletzt geändert vor 6 Monaten Zuletzt geändert am 27.02.2017 23:22:17

Anhänge (1)

Alle Anhänge herunterladen als: .zip