diff options
Diffstat (limited to 'windows/XP/autohotkey')
| -rw-r--r-- | windows/XP/autohotkey/README.txt | 17 | ||||
| -rw-r--r-- | windows/XP/autohotkey/neo20.ahk | 1576 | 
2 files changed, 473 insertions, 1120 deletions
| diff --git a/windows/XP/autohotkey/README.txt b/windows/XP/autohotkey/README.txt index 164066d..65e1bd8 100644 --- a/windows/XP/autohotkey/README.txt +++ b/windows/XP/autohotkey/README.txt @@ -1,6 +1,7 @@ -Version 03.05.2007
 +Version 09.05.2007
  == Installation ==
 +
  Hierfr braucht man keine Administratorrechte, es muss jedoch 
  zuerst das Programm namens autohotkey
  (http://www.autohotkey.com/download/AutohotkeyInstall.exe) 
 @@ -9,6 +10,7 @@ Dazu bentigt man KEINE Administratorrechte, wenn man das Programm  beispielsweise in das Verzeichnis Eigene Dateien/NEO installiert.
  === ahk-Dateien ===
 +
  Danach kann man die .ahk-Skripte (neo20.ahk und neo20-remap.ahk) 
  mit einem Doppelklick starten. 
  Man erhlt dann ein Systray-Icon, mit dem man das Skript vorbergehend 
 @@ -17,11 +19,13 @@ Wenn das ffnen nicht direkt funktioniert: ffnen mit -> Autohotkey.exe  auswhlen -> Immer mit diesem Programm ffnen.
  === Automatischer Start ===
 +
  Bei Bedarf kann man sich Verknpfungen mit neo20.ahk und 
  neo20-remap.ahk in den Autostart-Ordner legen, dann hat man das 
  Layout direkt bei der Anmeldung.
  == Wie es funktioniert ==
 +
  Das Programm kann alle Tastendrucke abfangen und statt dessen andere 
  Tasten simulieren. Die Zeile
    a::send b
 @@ -30,6 +34,7 @@ Die ahk-Dateien lassen sich mit einem Texteditor bearbeiten, man muss  dann nur das Skript neu starten um die nderungen zu bernehmen.
  == Bekannte Fehler ==
 +
  Das Umbelegen der Funktionstasten ist etwas buggy (siehe
  http://www.autohotkey.com/forum/topic10169.html) und wurde deshalb 
  in eine Extradatei ausgelagert (neo20-remap.ahk). 
 @@ -38,6 +43,7 @@ Einfach beide Skripte starten.  Problem: Manchmal kommt nur Control Down an, aber nicht das Up, 
  dann bleibt Control aktiv. 
  Lsung ist dann, einmal die normale Controltaste zu drcken.
 +--> taucht bei mir inzwischen nicht mehr auf *auf Holz klopf*
  Ohne die Remap-Datei knnen 
  die 3. Ebene mit Ctrl+Win 
 @@ -46,10 +52,8 @@ die 5. mit AltGr  die 6. mit AltGr+Shift
  erreicht werden.
 -Alle Nicht-ASCII-Zeichen werden ber die Zwischenablage eingefgt.
 -Der Dateiinhalt der Zwischenablage geht dabei verloren.
 -
  == Nummernblock ==
 +
  Der Nummernblock auf der 2. Ebene ist wahlweise
  - bei AUSgeschaltetem Numlock  
  - bei EINgeschaltetem Numlock mit Shift 
 @@ -70,10 +74,9 @@ AltGr + Ende = Computer ausschalten  --> diese Kombinationen treten auf bei AUSgeschaltetem Numlock mit Mod5
  == To Do ==
 -Dead Keys: Die Deadkeys, die auf der zweiten Seite der .ods aufgefhrt sind und die meisten von http://unicode.e-workers.de 
 -funktionieren inzwischen  es fehlen noch die mit Punkt drber.
  Lsst sich die neo20-remap.ahk in die Hauptdatei integrieren?
  Ist mir bislang noch nicht gelungen.
 -Dateiinhalt der Zwischenablage sichern?
\ No newline at end of file +Geschtztes Leerzeichen und schmales Leerzeichen auf 4./6. Ebene ber 
 +Leertaste, finde ich keine ANSI-Darstellung fr.
\ No newline at end of file diff --git a/windows/XP/autohotkey/neo20.ahk b/windows/XP/autohotkey/neo20.ahk index e902ec7..9b4aedd 100644 --- a/windows/XP/autohotkey/neo20.ahk +++ b/windows/XP/autohotkey/neo20.ahk @@ -1,5 +1,5 @@  /*
 -   NEO-Layout - Version vom 04.05.2007
 +   NEO-Layout - Version vom 08.05.2007
     Mod3 (3./4. Ebene) funktioniert ber Win+Ctrl, 
      Mod5 (5./6. Ebene) ber AltGr.
     Zur Umbelegung von Mod3 auf CapsLock und #
 @@ -20,16 +20,19 @@ name    = NEO-Layout 2.0  enable  = Aktiviere %name%
  disable = Deaktiviere %name%
 +; ToDo
 +; --------
 +; nobreakspace und schmales Leerzeichen
 -/*
 -   Um die ANSI-Darstellung von beliebigen Unicode-Zeichen
 -   zu finden (bentigt fr MyUTF_String):
 -   - die untenstehende Definition auskommentieren
 -   - gewnschtes Zeichen in die Zwischenablage befrdern
 -   - ^!u (Control+Alt+U) drcken
 -   - die ANSI-Darstellung aus der Zwischenablage an die 
 -     gewnschte Stelle ins Skript einfgen
 -*/
 +
 +; ANSI-Darstellung von beliebigen Unicode-Zeichen
 +; -----------------------------------------------
 +; (bentigt fr MyUTF_String):
 +;  - die untenstehende Definition auskommentieren
 +;  - gewnschtes Zeichen in die Zwischenablage befrdern
 +;  - ^!u (Control+Alt+U) drcken
 +;  - die ANSI-Darstellung aus der Zwischenablage an die 
 +;    gewnschte Stelle ins Skript einfgen
  /*
  ^!u::  
     MsgBox, 
 @@ -122,133 +125,91 @@ menu, tray, tip, %name%  ::send {} ; akut, tot
  q::send x
 -w::send v
 +
 +w::
 +  If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ṿ")
 +  Else 
 +    send v
 +Return
  e::
    If A_PriorHotkey = <^>!+ ; Schrgstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = ł
 -    Gosub Unicode
 -    }
 +    BSUnicode("ł")
    Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = ĺ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ĺ")
    Else If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = ľ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ľ")
    Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ļ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ļ")
 +  Else If A_PriorHotkey = <^>!^ ; Mittenpunkt
 +    BSUnicode("ŀ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ḷ")
    Else 
      send l
  Return 
  r::
    If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ĉ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ĉ")
    Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = č
 -    Gosub Unicode
 -    }
 +    BSUnicode("č")
    Else If A_PriorHotkey =  ; akut
 -    {
 -    Send {bs}
 -    MyUTF_String = ć
 -    Gosub Unicode
 -    }
 +    BSUnicode("ć")
    Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ç
 -    Gosub Unicode
 -    }
 +    BSUnicode("ç")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ċ")
    Else 
      Send c
  Return 
  t::
    If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ŵ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ŵ")
    Else
      send w
  Return
  z::
    If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ķ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ķ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ḳ")
    Else
      send k
  Return
  u::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ĥ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+^ ; Querstrich 
 -    {
 -    Send {bs}
 -    MyUTF_String = ħ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("ĥ")
 +  Else If A_PriorHotkey = #^+^   ; Querstrich 
 +    BSUnicode("ħ")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("ḣ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ḥ")
    Else send h
  Return
  i::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ĝ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = ğ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ģ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^          ; circumflex
 +    BSUnicode("ĝ")
 +  Else If A_PriorHotkey = #^^   ; brevis
 +    BSUnicode("ğ")
 +  Else If A_PriorHotkey = #^   ; cedilla
 +    BSUnicode("ģ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ġ")
    Else send g
  Return
  o::
 -  If A_PriorHotkey = <^>!+ ; durchgestrichen
 -    {
 -    Send {bs}
 -    MyUTF_String = ƒ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = <^>!+      ; durchgestrichen
 +    BSUnicode("ƒ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ḟ")
    Else send f
  Return
 @@ -257,316 +218,172 @@ p::send q  +::send ~ ; tilde, soll tot
  a::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+         ; Diaerese
      Send, {bs}
 -  Else If A_PriorHotkey = #^++ ; doppelakut 
 -    {
 -    Send {bs}
 -    MyUTF_String = ű
 -    Gosub Unicode
 -    }
 -;  Else If A_PriorHotkey = +^ ; caron
 -;    {
 -;    Send {bs}
 -;    MyUTF_String = 
 -;    Gosub Unicode
 -;    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = ŭ 
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = ū
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = ų
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = #^++   ; doppelakut 
 +    BSUnicode("ű")
 +  Else If A_PriorHotkey = #^^    ; brevis
 +    BSUnicode("ŭ")
 +  Else If A_PriorHotkey = ++     ; macron
 +    BSUnicode("ū")
 +  Else If A_PriorHotkey = #^+   ; ogonek
 +    BSUnicode("ų")
    Else If A_PriorHotkey = <^>!+ ; Ring
 -    {
 -    Send {bs}
 -    MyUTF_String = ů
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = ũ
 -    Gosub Unicode
 -    }
 +    BSUnicode("ů")
 +  Else If A_PriorHotkey = +      ; tilde
 +    BSUnicode("ũ")
    Else
      send u
  Return
  s::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+        ; Diaerese
      Send, {bs}
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = ī
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = ĭ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = į
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = ĩ
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = ++    ; macron
 +    BSUnicode("ī")
 +  Else If A_PriorHotkey = #^^   ; brevis
 +    BSUnicode("ĭ")
 +  Else If A_PriorHotkey = #^+  ; ogonek
 +    BSUnicode("į")
 +  Else If A_PriorHotkey = +     ; tilde
 +    BSUnicode("ĩ")
 +  Else If A_PriorHotkey = <^>! ; (ohne) punkt darber 
 +    BSUnicode("ı")
    Else 
      Send i
  Return
  d::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+         ; Diaerese
      Send {bs}
    Else If A_PriorHotkey = <^>!+ ; Ring 
      Send {bs}
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = ã
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = ą
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = ā
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = ă
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = +      ; tilde
 +    BSUnicode("ã")
 +  Else If A_PriorHotkey = #^+   ; ogonek
 +    BSUnicode("ą")
 +  Else If A_PriorHotkey = ++     ; macron
 +    BSUnicode("ā")
 +  Else If A_PriorHotkey = #^^    ; brevis
 +    BSUnicode("ă")
    Else 
      Send a
  Return 
  f::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+        ; Diaerese
      Send, {bs}
 -  Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = ę
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = ē
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = ĕ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = ě
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = #^+  ; ogonek
 +    BSUnicode("ę")
 +  Else If A_PriorHotkey = ++    ; macron
 +    BSUnicode("ē")
 +  Else If A_PriorHotkey = #^^   ; brevis
 +    BSUnicode("ĕ")
 +  Else If A_PriorHotkey = +^    ; caron
 +    BSUnicode("ě")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ė")
    Else 
      Send e
  Return 
  g::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+         ; Diaerese
      Send, {bs}
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = õ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^++ ; doppelakut
 -    {
 -    Send {bs}
 -    MyUTF_String = ő
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = <^>!+ ; Schrgstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = ø
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = ō
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = ŏ
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = +      ; tilde
 +    BSUnicode("õ")
 +  Else If A_PriorHotkey = #^++   ; doppelakut
 +    BSUnicode("ő")
 +  Else If A_PriorHotkey = <^>!+  ; Schrgstrich
 +    BSUnicode("ø")
 +  Else If A_PriorHotkey = ++     ; macron
 +    BSUnicode("ō")
 +  Else If A_PriorHotkey = #^^    ; brevis 
 +    BSUnicode("ŏ")
    Else 
      send o
  Return
  h::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ŝ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = ś
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = š
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ş
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("ŝ")
 +  Else If A_PriorHotkey =       ; akut 
 +    BSUnicode("ś")
 +  Else If A_PriorHotkey = +^     ; caron
 +    BSUnicode("š")
 +  Else If A_PriorHotkey = #^    ; cedilla
 +    BSUnicode("ş")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("ṡ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ṣ")
    Else   
      send s
  Return
  j::
 -  If A_PriorHotkey =  ; akut
 -    {
 -    Send {bs}
 -    MyUTF_String = ń
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = ñ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = ň
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ņ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey =           ; akut
 +    BSUnicode("ń")
 +  Else If A_PriorHotkey = +     ; tilde
 +    BSUnicode("ñ")
 +  Else If A_PriorHotkey = +^    ; caron
 +    BSUnicode("ň")
 +  Else If A_PriorHotkey = #^   ; cedilla
 +    BSUnicode("ņ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ṅ")
    Else
      send n
  Return
  k::
 -  If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = ŕ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = ř
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ŗ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey =            ; akut 
 +    BSUnicode("ŕ")
 +  Else If A_PriorHotkey = +^     ; caron
 +    BSUnicode("ř")
 +  Else If A_PriorHotkey = #^    ; cedilla
 +    BSUnicode("ŗ")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("ṙ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ṛ")
    Else 
      send r
  Return
  l::  
 -  If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = ť
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = ţ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+^ ; Querstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = ŧ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = +^          ; caron 
 +    BSUnicode("ť")
 +  Else If A_PriorHotkey = #^    ; cedilla
 +    BSUnicode("ţ")
 +  Else If A_PriorHotkey = #^+^   ; Querstrich
 +    BSUnicode("ŧ")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("ṫ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ṭ")
    Else 
      send t
  Return
  ::
 -  If A_PriorHotkey = #^+^ ; Querstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = ð
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = ď
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = #^+^        ; Querstrich
 +    BSUnicode("đ")
 +  Else If A_PriorHotkey = +^     ; caron
 +    BSUnicode("ď")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("ḋ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ḍ")
    Else 
      send d
  Return
  ::  
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+       ; Diaerese
      Send {bs}
 -  Else If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ŷ 
 -    Gosub Unicode
 -    }
 +  Else If A_PriorHotkey = ^    ; circumflex
 +    BSUnicode("ŷ")
    Else
      send y
  Return
 @@ -577,72 +394,69 @@ Return  y::send 
  x::send 
  c::send 
 -v::send p
 +v::
 +  If A_PriorHotkey = <^>!      ; punkt darber 
 +    BSUnicode("ṗ")
 +  Else
 +    send p
 +Return
  b::
 -  If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = ž
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey =  ; akut
 -    {
 -    Send {bs}
 -    MyUTF_String = ź
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = +^         ; caron
 +    BSUnicode("ž")
 +  Else If A_PriorHotkey =      ; akut
 +    BSUnicode("ź")
    Else If A_PriorHotkey = <^>! ; punkt drber
 -    {
 -    Send {bs}
 -    MyUTF_String = ż
 -    Gosub Unicode
 -    }
 +    BSUnicode("ż")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("ż")
    Else 
      Send z
  Return 
 -n::send b
 -m::send m
 +n::
 +  If A_PriorHotkey = <^>!      ; punkt darber 
 +    BSUnicode("ḃ")
 +  Else 
 +    send b
 +Return
 +
 +m::
 +  If A_PriorHotkey = <^>!       ; punkt darber 
 +    BSUnicode("ṁ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("ṃ")
 +  Else 
 +    send m
 +Return
 +
  ,::send `,
  .::send .
  -::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ĵ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("ĵ")
    Else
      send j
  Return
  Space::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = ˆ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = + ; tilde 
 -    {
 -    Send {bs}
 -    MyUTF_String = ˜
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("ˆ")
 +  Else If A_PriorHotkey = +      ; tilde 
 +    BSUnicode("˜")
    Else
      Send {Space}
  Return
 +Enter::Send {Enter}
 +Esc::Send {Esc}
 +
 +
  ;2. Ebene (Shift)
  ;---------
 -+^::  ; caron, soll tot
 -   MyUTF_String = ˇ
 -   Gosub Unicode
 -   return
 -
 ++^::Unicode("ˇ")  ; caron, tot
  +1::send 
  +2::send 
  +3::send 
 @@ -653,203 +467,121 @@ Return  +8::send 
  +9::send 
  +0::send 
 -
 -+::    ; Ged
 -   MyUTF_String = –
 -   Gosub Unicode
 -   return
 -
 -+::send `` ; gravis, tot
 ++::Unicode("–") ; Ged
 ++::send `` 
  +q::send X
 -+w::send V
 ++w::
 +  If A_PriorHotkey = <^>!+^      ; punkt darunter
 +    BSUnicode("Ṿ")
 +  Else 
 +    send V
 +Return
 +
  +e::
 -  If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĺ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ľ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla
 -    {
 -    Send {bs}
 -    MyUTF_String = Ļ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = <^>!+ ; Schrgstrich 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ł
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey =            ; akut 
 +    BSUnicode("Ĺ")
 +  Else If A_PriorHotkey = +^     ; caron 
 +    BSUnicode("Ľ")
 +  Else If A_PriorHotkey = #^    ; cedilla
 +    BSUnicode("Ļ")
 +  Else If A_PriorHotkey = <^>!+  ; Schrgstrich 
 +    BSUnicode("Ł")
 +  Else If A_PriorHotkey = <^>!^  ; Mittenpunkt 
 +    BSUnicode("Ŀ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ḷ")
    Else 
      send L
  return
  +r::
 -  If A_PriorHotkey = ^ ; circumflex 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĉ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = Č
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ć
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ç
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^          ; circumflex 
 +    BSUnicode("Ĉ")
 +  Else If A_PriorHotkey = +^    ; caron 
 +    BSUnicode("Č")
 +  Else If A_PriorHotkey =      ; akut 
 +    BSUnicode("Ć")
 +  Else If A_PriorHotkey = #^   ; cedilla 
 +    BSUnicode("Ç")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ċ")
    Else 
      Send C
  Return 
  +t::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŵ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("Ŵ")
    Else
      send W
  Return
  +z::  
 -  If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ķ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = #^         ; cedilla 
 +    BSUnicode("Ķ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ḳ")
    Else
      send K
  Return
  +u::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĥ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+^ ; Querstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = Ħ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^           ; circumflex
 +    BSUnicode("Ĥ")
 +  Else If A_PriorHotkey = #^+^   ; Querstrich
 +    BSUnicode("Ħ")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("Ḣ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ḥ")
    Else send H
  Return
  +i::
 -  If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĝ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ğ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ģ
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = ^          ; circumflex
 +    BSUnicode("Ĝ")
 +  Else If A_PriorHotkey = #^^   ; brevis 
 +    BSUnicode("Ğ")
 +  Else If A_PriorHotkey = #^   ; cedilla 
 +    BSUnicode("Ģ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ġ")
    Else send G
  Return
  +o::
 -  If A_PriorHotkey = <^>!+ ; durchgestrichen
 -    {
 -    Send {bs}
 -    MyUTF_String = ₣
 -    Gosub Unicode
 -    }
 +  If A_PriorHotkey = <^>!+       ; durchgestrichen
 +    BSUnicode("₣")
 +  Else If A_PriorHotkey = <^>!  ; punkt darber 
 +    BSUnicode("Ḟ")
    Else send F
  Return
  +p::send Q
  +::send 
 -++::  ; macron, soll tot 
 -MyUTF_String = ˉ 
 -Gosub Unicode
 -return
 +++::Unicode("ˉ")  ; macron, tot 
  +a::
 -  If A_PriorHotkey = #^+ ; Diaerese
 +  If A_PriorHotkey = #^+         ; Diaerese
      Send, {bs}
    Else If A_PriorHotkey = <^>!+ ; Ring
 -    {
 -    Send {bs}
 -    MyUTF_String = Ů
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŭ 
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^++ ; doppelakut
 -    {
 -    Send {bs}
 -    MyUTF_String = Ű
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ů
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ū
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŭ
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = Ų
 -    Gosub Unicode
 -    }
 -  Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = Ũ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ů")
 +  Else If A_PriorHotkey = #^^    ; brevis
 +    BSUnicode("Ŭ")
 +  Else If A_PriorHotkey = #^++   ; doppelakut
 +    BSUnicode("Ű")
 +  Else If A_PriorHotkey = +^     ; caron 
 +    BSUnicode("Ů")
 +  Else If A_PriorHotkey = ++     ; macron
 +    BSUnicode("Ū")
 +  Else If A_PriorHotkey = #^^    ; brevis 
 +    BSUnicode("Ŭ")
 +  Else If A_PriorHotkey = #^+   ; ogonek
 +    BSUnicode("Ų")
 +  Else If A_PriorHotkey = +      ; tilde
 +    BSUnicode("Ũ")
    Else
      send U
  Return
 @@ -858,29 +590,15 @@ Return    If A_PriorHotkey = #^+ ; Diaerese
      Send, {bs}
    Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ī
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ī")
    Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĭ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ĭ")
    Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = Į
 -    Gosub Unicode
 -    }
 +    BSUnicode("Į")
    Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĩ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ĩ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("İ")
    Else 
      Send I
  Return
 @@ -889,31 +607,15 @@ Return    If A_PriorHotkey = #^+ ; Diaerese
      Send {bs}
    Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = Ã
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ã")
    Else If A_PriorHotkey = <^>!+ ; Ring 
      Send {bs}
    Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ā
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ā")
    Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ă
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ă")
    Else If A_PriorHotkey = #^+ ; ogonek
 -    {
 -    Send {bs}
 -    MyUTF_String = Ą
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ą")
    Else 
      Send A
  Return 
 @@ -922,170 +624,94 @@ Return    If A_PriorHotkey = #^+ ; Diaerese
      Send, {bs}
    Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ě
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ě")
    Else If A_PriorHotkey = ++ ; macron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ē
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ē")
    Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĕ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ĕ")
    Else If A_PriorHotkey = #^+ ; ogonek 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ę
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ę")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ė")
    Else 
      Send E
  Return 
  +g::
    If A_PriorHotkey = <^>!+ ; Schrgstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = Ø
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ø")
    Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = Õ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Õ")
    Else If A_PriorHotkey = #^++ ; doppelakut
 -    {
 -    Send {bs}
 -    MyUTF_String = Ő
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ő")
    Else If A_PriorHotkey = #^+ ; Diaerese
      Send {bs}
    Else If A_PriorHotkey = ++ ; macron 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ō
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ō")
    Else If A_PriorHotkey = #^^ ; brevis 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŏ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŏ")
    Else
      send O
  Return
  +h::
    If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŝ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŝ")
    Else If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = Š
 -    Gosub Unicode
 -    }
 +    BSUnicode("Š")
    Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ś
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ś")
    Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ş
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ş")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ṣ")
    Else
      send S
  Return
  +j::
    If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ň
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ň")
    Else If A_PriorHotkey = + ; tilde
 -    {
 -    Send {bs}
 -    MyUTF_String = Ñ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ñ")
    Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ń
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ń")
    Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ņ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ņ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ṅ")
    Else
      send N
  Return
  +k::
    If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ř
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ř")
    Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŕ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŕ")
    Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŗ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŗ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ṙ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ṛ")
    Else 
      send R
  Return
  +l::
    If A_PriorHotkey = +^ ; caron
 -    {
 -    Send {bs}
 -    MyUTF_String = Ť
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ť")
    Else If A_PriorHotkey = #^ ; cedilla 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ţ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ţ")
    Else If A_PriorHotkey = #^+^ ; Querstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŧ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŧ")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ṫ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ṭ")
    Else 
      send T
  Return
 @@ -1093,17 +719,13 @@ Return  +::
    If A_PriorHotkey = #^+^ ; Querstrich
 -    {
 -    Send {bs}
 -    MyUTF_String = Đ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Đ")
    Else If A_PriorHotkey = +^ ; caron 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ď
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ď")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ḋ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ḍ")
    Else send D
  Return
 @@ -1111,11 +733,7 @@ Return    If A_PriorHotkey = #^+ ; Diaerese
      Send {bs}
    Else If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ŷ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ŷ")
    Else
      send Y
  Return
 @@ -1123,55 +741,58 @@ Return  +y::send 
  +x::send 
  +c::send 
 -+v::send P
 +
 ++v::
 +  If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ṗ")
 +  Else 
 +    send P
 +Return
  +b::  
    If A_PriorHotkey = +^ ; caron  
 -    {
 -    Send {bs}
 -    MyUTF_String = Ž
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ž")
    Else If A_PriorHotkey =  ; akut 
 -    {
 -    Send {bs}
 -    MyUTF_String = Ź
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ź")
 +  Else If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ż")
    Else
      send Z
  Return
 -+n::send B
 -+m::send M
 ++n::
 +  If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ḃ")
 +  Else 
 +    send B
 +Return
 +
 ++m::
 +  If A_PriorHotkey = <^>! ; punkt darber 
 +    BSUnicode("Ṁ")
 +  Else If A_PriorHotkey = <^>!+^ ; punkt darunter 
 +    BSUnicode("Ṃ")
 +  Else 
 +    send M
 +Return
 +
  +,::send `;
  +.::send :
  +-::
    If A_PriorHotkey = ^ ; circumflex
 -    {
 -    Send {bs}
 -    MyUTF_String = Ĵ
 -    Gosub Unicode
 -    }
 +    BSUnicode("Ĵ")
    Else
      send J
  Return
 +
  ;3. Ebene: Mod3
  ;(Win+Ctrl)
  ;----------------
 -#^^:: ; brevis, soll tot
 -MyUTF_String = ˘
 -Gosub Unicode
 -return
 -
 -#^1:: 
 -MyUTF_String = ¬ 
 -Gosub Unicode
 -return
 -
 +#^^::Unicode("˘") ; brevis, soll tot
 +#^1::Unicode("¬")
  #^2::send {^}{space} 
  #^3::send 3 
  #^4::send  
 @@ -1181,12 +802,7 @@ return  #^8::send 
  #^9::send 
  #^0::send 
 -
 -#^::
 -MyUTF_String = — 
 -Gosub Unicode
 -return
 -
 +#^::Unicode("—")
  #^::send  ; cedilla, soll tot
  #^q::send @ 
 @@ -1199,17 +815,8 @@ return  #^i::send >
  #^o::send `=
  #^p::send `;
 -
 -#^::  ;ij
 -MyUTF_String = ij
 -Gosub Unicode
 -return
 -
 -#^+:: ; Diaerese, soll tot
 -MyUTF_String = ¨
 -Gosub Unicode
 -return
 -
 +#^::Unicode("ij")  ;ij
 +#^+::Unicode("¨") ; Diaerese, soll tot
  #^a::send \
  #^s::send `/
 @@ -1223,7 +830,6 @@ return  #^::send :
  #^::send y
 -
  #^y::sendraw ~ 
  #^x::send $
  #^c::send |
 @@ -1253,154 +859,46 @@ return  #^+9::send  
  #^+0::send  
  #^+::send  
 +#^+::Unicode("˛") ; ogonek, soll tot
 -#^+:: ; ogonek, soll tot
 -MyUTF_String = ˛
 -Gosub Unicode
 -return
 -
 -
 -#^+q::  ;xi
 -MyUTF_String = ξ 
 -Gosub Unicode
 -return
 -
 +#^+q::Unicode("ξ")  ;xi
  #^+w::send v
 -
 -#^+e::  ;lambda
 -MyUTF_String = λ 
 -Gosub Unicode
 -return
 -
 -#^+r::  ;chi 
 -MyUTF_String = χ
 -Gosub Unicode
 -return
 -
 +#^+e::Unicode("λ")  ;lambda
 +#^+r::Unicode("χ")  ;chi 
  #^+t::send w
 -
 -#^+z:: ;kappa
 -MyUTF_String = κ
 -Gosub Unicode
 -return
 -
 -#^+u:: ;psi
 -MyUTF_String = ψ
 -Gosub Unicode
 -return
 -
 -#^+i:: ;gamma
 -MyUTF_String = γ
 -Gosub Unicode
 -return
 -
 -#^+o:: ;phi
 -MyUTF_String = φ
 -Gosub Unicode
 -return
 -
 +#^+z::Unicode("κ") ;kappa
 +#^+u::Unicode("ψ") ;psi
 +#^+i::Unicode("γ") ;gamma
 +#^+o::Unicode("φ") ;phi
  #^+p::send q
 -
 -#^+:: ;IJ
 -MyUTF_String = IJ
 -Gosub Unicode
 -return
 -
 +#^+::Unicode("IJ") ;IJ
  #^++::send " ;doppelakut, soll tot
  #^+a::send u
 -
 -#^+s:: ;iota
 -MyUTF_String = ι
 -Gosub Unicode
 -return
 -
 -#^+d:: ;alpha
 -MyUTF_String = α
 -Gosub Unicode
 -return
 -
 -#^+f:: ;epsilon
 -MyUTF_String = ε
 -Gosub Unicode
 -return
 -
 -#^+g:: ;omega
 -MyUTF_String = ω
 -Gosub Unicode
 -return
 -
 -#^+h:: ;sigma
 -MyUTF_String = σ
 -Gosub Unicode
 -return
 -
 -#^+j:: ;nu
 -MyUTF_String = ν
 -Gosub Unicode
 -return
 -
 -#^+k:: ;rho
 -MyUTF_String = ρ
 -Gosub Unicode
 -return
 -
 -#^+l:: ;tau
 -MyUTF_String = τ
 -Gosub Unicode
 -return
 -
 -#^+:: ;delta
 -MyUTF_String = δ
 -Gosub Unicode
 -return
 -
 -#^+:: ;upsilon
 -MyUTF_String = υ
 -Gosub Unicode
 -return
 -
 -
 +#^+s::Unicode("ι") ;iota
 +#^+d::Unicode("α") ;alpha
 +#^+f::Unicode("ε") ;epsilon
 +#^+g::Unicode("ω") ;omega
 +#^+h::Unicode("σ") ;sigma
 +#^+j::Unicode("ν") ;nu
 +#^+k::Unicode("ρ") ;rho
 +#^+l::Unicode("τ") ;tau
 +#^+::Unicode("δ") ;delta
 +#^+::Unicode("υ") ;upsilon
  #^+y::send 
  #^+x::send 
 +#^+c::Unicode("η") ;eta
 +#^+v::Unicode("π") ;pi
 +#^+b::Unicode("ζ") ;zeta
 +#^+n::Unicode("β") ;beta
 +#^+m::Unicode("μ") ;mu
 +#^+,::Unicode("ϑ") ;vartheta?
 +#^+.::Unicode("θ") ;theta
 +#^+-::send j
 -#^+c:: ;eta
 -MyUTF_String = η
 -Gosub Unicode
 -return
 -
 -#^+v:: ;pi
 -MyUTF_String = π
 -Gosub Unicode
 -return
 -
 -#^+b:: ;zeta
 -MyUTF_String = ζ
 -Gosub Unicode
 -return
 -
 -#^+n:: ;beta
 -MyUTF_String = β
 -Gosub Unicode
 -return
 -
 -#^+m:: ;mu
 -MyUTF_String = μ
 -Gosub Unicode
 -return
 -
 -#^+,:: ;vartheta?
 -MyUTF_String = ϑ
 -Gosub Unicode
 -return
 -
 -#^+.:: ;theta
 -MyUTF_String = θ
 -Gosub Unicode
 -return
 +;#^+space::    ; geschtztes Leerzeichen
 -#^+-::send j
 @@ -1408,21 +906,13 @@ return  ;(AltGr)
  ;-----------------
 +<^>!^::Unicode("·") ; Mittenpunkt, tot mit l und L
  <^>!4::Send {PgUp} ;Prev
  <^>!8::Send /
  <^>!9::Send *
  <^>!0::Send -
 -
 -<^>!:: ; eth
 -MyUTF_String = ð
 -Gosub Unicode
 -return
 -
 -<^>!:: ; punkt oben drber, soll tot
 -MyUTF_String = ˙
 -Gosub Unicode
 -return
 -
 +<^>!::Unicode("ð") ; eth
 +<^>!::Unicode("˙") ; punkt oben drber, soll tot
  <^>!q::Send {Esc}
  <^>!w::Send {Backspace}
 @@ -1433,16 +923,8 @@ return  <^>!i::Send 8
  <^>!o::Send 9
  <^>!p::Send {+}
 -
 -<^>!:: 
 -MyUTF_String = ə
 -Gosub Unicode
 -return
 -
 -<^>!+:: ; Schrgstrich, soll tot 
 -MyUTF_String = /
 -Gosub Unicode
 -return
 +<^>!::Unicode("ə") ; ?
 +<^>!+::Unicode("/") ; Schrgstrich, soll tot 
  <^>!a::Send {Home}
  <^>!s::Send {Left}
 @@ -1454,11 +936,7 @@ return  <^>!k::Send 5
  <^>!l::Send 6
  <^>!::Send `,
 -
  <^>!::Send  ; thorn
 -;MyUTF_String = þ
 -;Gosub Unicode
 -;return
  <^>!y::Send {Tab}
 @@ -1480,111 +958,39 @@ return  ;(AltGr+Shift)
  ;-----------------------
 +<^>!+^::Send . ; punkt darunter
  <^>!+4::Send +{Prev}
 +<^>!+::Unicode("Ð") ; Eth
 +<^>!+::Unicode("˚") ; ring obendrauf
 -<^>!+:: ; Eth
 -MyUTF_String = Ð
 -Gosub Unicode
 -return
 -
 -<^>!+:: ; ring obendrauf, soll tot
 -MyUTF_String = ˚
 -Gosub Unicode
 -return
 -
 -<^>!+q:: ; Xi?
 -MyUTF_String = Ξ
 -Gosub Unicode
 -return
 - 
 -<^>!+w:: ; Lambda
 -MyUTF_String = Λ
 -Gosub Unicode
 -return
 -
 +<^>!+q::Unicode("Ξ") ; Xi
 +<^>!+w::Unicode("Λ") ; Lambda
  <^>!+e::Send +{Up}
  <^>!+r::Send  
  <^>!+t::Send +{Insert}
 -
 -<^>!+u:: ; Phi
 -MyUTF_String = Ψ
 -Gosub Unicode
 -return
 -
 -<^>!+i:: ; Gamma
 -MyUTF_String = Γ
 -Gosub Unicode
 -return
 -
 -<^>!+o:: ; Psi
 -MyUTF_String = Φ
 -Gosub Unicode
 -return
 -
 -<^>!+:: ; ?
 -MyUTF_String = Ə
 -Gosub Unicode
 -return
 -
 -<^>!++::  ; komma drunter, soll tot 
 -MyUTF_String = ˏ 
 -Gosub Unicode
 -return
 +<^>!+u::Unicode("Ψ") ; Phi
 +<^>!+i::Unicode("Γ") ; Gamma
 +<^>!+o::Unicode("Φ") ; Psi
 +<^>!+::Unicode("Ə") ; ?
 +<^>!++::Unicode("ˏ") ; komma drunter, soll tot 
  <^>!+a::Send +{Home}
  <^>!+s::Send +{Left}
  <^>!+d::Send +{Down}
  <^>!+f::Send +{Right}
  <^>!+g::Send +{End}
 -<^>!+h:: ; Sigma
 -MyUTF_String = Σ
 -Gosub Unicode
 -return
 -
 -<^>!+j:: ; No
 -MyUTF_String = №
 -Gosub Unicode
 -return
 -
 -<^>!+k:: ; (R)
 -MyUTF_String = ®
 -Gosub Unicode
 -return
 -
 -<^>!+l:: ; TM
 -MyUTF_String = ™
 -Gosub Unicode
 -return
 -
 -<^>!+:: ; Delta
 -MyUTF_String = Δ
 -Gosub Unicode
 -return
 -
 -<^>!+::Send  ; Thorn 
 -;MyUTF_String = Þ
 -;Gosub Unicode
 -;return
 -
 +<^>!+h::Unicode("Σ")  ; Sigma
 +<^>!+j::Unicode("№") ; No
 +<^>!+k::Unicode("®")  ; (R)
 +<^>!+l::Unicode("™") ; TM
 +<^>!+::Unicode("Δ")  ; Delta
 +<^>!+::Send          ; Thorn 
  <^>!+y::Send +{Tab}
 -
  <^>!+c::Send +{PgDn}
 -
 -<^>!+v:: ; Pi
 -MyUTF_String = Π
 -Gosub Unicode
 -return
 -
 -<^>!+b:: ; Omega
 -MyUTF_String = Ω
 -Gosub Unicode
 -return
 -
 -<^>!+.:: ; Theta 
 -MyUTF_String = Θ
 -Gosub Unicode
 -return
 +<^>!+v::Unicode("Π") ; Pi
 +<^>!+b::Unicode("Ω") ; Omega
 +<^>!+.::Unicode("Θ") ; Theta 
 @@ -1602,8 +1008,6 @@ return  ^9::send ^9
  ^0::send ^0
 -
 -
  ^q::send ^x
  ^w::send ^v
  ^e::send ^l
 @@ -1706,10 +1110,10 @@ return  #w::send #v
  #e::  
 -   ; #e::send #l  funktioniert nicht, Computer wird nicht gesperrt
 -   ; http://www.autohotkey.com/forum/viewtopic.php?p=66937#66937
    Run,%A_WinDir%\System32\Rundll32.exe User32.dll`,LockWorkStation 
    return
 +   ; #e::send #l  funktioniert nicht, Computer wird nicht gesperrt
 +   ; http://www.autohotkey.com/forum/viewtopic.php?p=66937#66937
  #r::send #c
  #t::send #w
 @@ -1814,37 +1218,16 @@ return  #^NumpadMult::send 
  #^NumpadSub::send -
  #^NumpadAdd::send 
 -#^NumpadEnter::    ; neq
 -  MyUTF_String = ≠
 -  Gosub Unicode
 -  return
 +#^NumpadEnter::Unicode("") ; neq
 -#^Numpad7::  ;7/8
 -  MyUTF_String = ⅞ 
 -  Gosub Unicode
 -  return
 -#^Numpad8::   ; uparrow
 -  MyUTF_String = ↑
 -  Gosub Unicode
 -  return
 -#^Numpad9::   ;  3/8
 -  MyUTF_String = ⅜
 -  Gosub Unicode
 -  return
 -#^Numpad4::   ; leftarrow
 -  MyUTF_String = ←
 -  Gosub Unicode
 -  return
 +#^Numpad7::Unicode("⅞")   ; 7/8
 +#^Numpad8::Unicode("↑")   ; uparrow
 +#^Numpad9::Unicode("⅜")   ; 3/8
 +#^Numpad4::Unicode("?")   ; leftarrow
  #^Numpad5::send 
 -#^Numpad6::   ; rightarrow
 -  MyUTF_String = →
 -  Gosub Unicode
 -  return
 +#^Numpad6::Unicode("→")   ; rightarrow
  #^Numpad1::send  
 -#^Numpad2::   ; downarrow
 -  MyUTF_String = ↓
 -  Gosub Unicode
 -  return
 +#^Numpad2::Unicode("↓")   ; downarrow
  #^Numpad3::send 
  #^Numpad0::send `%
  #^NumPadDot::send .
 @@ -1858,37 +1241,15 @@ return  ; --> Brche
  ; ---------------------------
 -#^+NumpadDiv::   ; slash
 -  MyUTF_String = ∕
 -  Gosub Unicode
 -  return
 -#^+NumpadMult::  ; cdot
 -  MyUTF_String = ⋅
 -  Gosub Unicode
 -  return
 -#^+NumpadSub::send - ; eig. unbelegt
 -#^+NumpadAdd::    ; -+
 -  MyUTF_String = ∓
 -  Gosub Unicode
 -  return 
 -#^+NumpadEnter::   ; approx
 -  MyUTF_String = ≈
 -  Gosub Unicode
 -  return  
 -
 -
 -#^+NumpadHome::  ; 1/8
 -  MyUTF_String = ⅛
 -  Gosub Unicode
 -  return  
 -#^+NumpadUp::  ; 5/8
 -  MyUTF_String = ⅝
 -  Gosub Unicode
 -  return   
 -#^+NumpadPgUp::  ; 3/8
 -  MyUTF_String = ⅜
 -  Gosub Unicode
 -  return  
 +#^+NumpadDiv::Unicode("∕")   ; slash
 +#^+NumpadMult::Unicode("⋅")  ; cdot
 +#^+NumpadSub::send -           ; eig. unbelegt
 +#^+NumpadAdd::Unicode("∓")   ; -+
 +#^+NumpadEnter::Unicode("≈") ; approx
 +
 +#^+NumpadHome::Unicode("⅛")  ; 1/8
 +#^+NumpadUp::Unicode("?")    ; 5/8
 +#^+NumpadPgUp::Unicode("⅜")  ; 3/8
  #^+NumpadLeft::send 
  #^+NumpadClear::send 
  #^+NumpadRight::send 
 @@ -1908,33 +1269,15 @@ return  <^>!NumpadDiv::send / 
 -<^>!NumpadMult::    ; cdot
 -  MyUTF_String = ⋅ 
 -  Gosub Unicode
 -  return 
 -<^>!NumpadSub::send - ; eig. unbelegt
 -<^>!NumpadAdd::    ; -+
 -  MyUTF_String = ∓
 -  Gosub Unicode
 -  return 
 -<^>!NumpadEnter::   ; approx
 -  MyUTF_String = ≈
 -  Gosub Unicode
 -  return  
 -
 -
 -<^>!Numpad7::  ; 1/8
 -  MyUTF_String = ⅛
 -  Gosub Unicode
 -  return  
 -<^>!Numpad8::  ; 5/8
 -  MyUTF_String = ⅝
 -  Gosub Unicode
 -  return   
 -<^>!Numpad9::  ; 3/8
 -  MyUTF_String = ⅜
 -  Gosub Unicode
 -  return  
 +<^>!NumpadMult::Unicode("⋅")   ; cdot
 +<^>!NumpadSub::send -            ; eig. unbelegt
 +<^>!NumpadAdd::Unicode("∓")    ; -+
 +<^>!NumpadEnter::Unicode("≈")  ; approx
 +
 +
 +<^>!Numpad7::Unicode("⅛")  ; 1/8
 +<^>!Numpad8::Unicode("?")  ; 5/8
 +<^>!Numpad9::Unicode("⅜")  ; 3/8
  <^>!Numpad4::send 
  <^>!Numpad5::send 
  <^>!Numpad6::send 
 @@ -1947,14 +1290,22 @@ return  ; ------------------------------------
 +Unicode(code)
 +  {
 +  saved_clipboard := ClipboardAll
 +  Transform, Clipboard, Unicode, %code%
 +  send ^v
 +  Clipboard := saved_clipboard
 +  }
 +BSUnicode(code)
 +  {
 +  saved_clipboard := ClipboardAll
 +  Transform, Clipboard, Unicode, %code%
 +  send {bs}^v
 +  Clipboard := saved_clipboard
 +  }
 -Unicode:
 -  Transform, Clipboard, Unicode, %MyUTF_String%  
 -   ; Place Unicode text onto the clipboard
 -  send ^v
 -   ; Paste the clipboard's Unicode text 
 -return
  toggleneo:
     if state <>
 @@ -1973,7 +1324,6 @@ toggleneo:  return
 -
  help:
     Run, %A_WinDir%\hh mk:@MSITStore:autohotkey.chm
  return
 @@ -2023,4 +1373,4 @@ return  exitprogram:
     exitapp
 -return
 +return
\ No newline at end of file | 
