Neo ist eine ergonomische Tastaturbelegung, welche für die deutsche Sprache optimiert ist. https://neo-layout.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

276 lines
16 KiB

  1. == NEO 2.0 (beta) AutoHotkey‐Treiber ==
  2. === Autoren ===
  3. Alle E‐Mail‐Adressen sind »kodiert«, um die Erfassung durch E‐Mail‐Spider (und darauf folgenden Spam) zu vermeiden:
  4. Stefan Mayer <stm (at) neo‐layout. o r g>
  5. Nora Geißler <nora_geissler (at) yahoo. d e>
  6. Matthias Berg <neo (at) matthias‐berg. e u>
  7. Martin Roppelt <m.p.roppelt (at) web. d e>
  8. Dennis Heidsiek <heidsiekb (at) aol. c o m>
  9. Matthias Wächter <matthias (at) waechter.wiz. a t>
  10. === To Do ===
  11. ‐ Ausgiebig testen … (besonders Vollständigkeit bei Deadkeys).
  12. • Griechische Buchstaben ergänzen…
  13. ‐ Bessere Lösung für das Leeren von PriorDeadKey finden, damit die Sondertasten nicht mehr abgefangen werden müssen.
  14. ‐ Compose vollständig implementieren: Kombination mit Deadkeys.
  15. • ♫Tab ermöglichen.
  16. - Bildschirmtastatur in der All.ahk auch ohne vorherigen Aufruf der neo20.exe verfügbar machen.
  17. === Ideen und Vorschläge ===
  18. ‐ Modi für vertauschte Ziffern in der Zahlenreihe und auf der 4. Ebene.
  19. === Änderungshistorie ===
  20. Revision 1057 (von Martin Roppelt)
  21. - Bildschirmtastatur aktualisiert.
  22. Revision 1046 (von Martin Roppelt)
  23. - Anpassung an Referenz.
  24. Revision 1039 (von Dennis Heidsiek)
  25. - Lang-ſ-Modus wiederhergestellt (neo_s war defekt).
  26. Revision 1016 (von Martin Roppelt)
  27. - Tote Tasten fertig angepasst.
  28. Revision 993 (von Martin Roppelt)
  29. - Tote Tasten aktualisiert.
  30. Revision 953 (von Martin Roppelt)
  31. - 6-Ebenen-Ziffernblock eingepflegt.
  32. Revision 929 (von Martin Roppelt)
  33. - Compose.ahk aktualisiert.
  34. - mod4+y sendet jetzt »KP+.« statt wie bisher ein einfaches ».«.
  35. - mod4+return sendet jetzt »KP+return« (aka »enter«) statt wie bisher ein einfaches »return«.
  36. Revision 899 (von Dennis Heidsiek)
  37. - Build-Skript überarbeitet, sodass die Pfade zentral geändert werden können.
  38. Revision 897 (von Dennis Heidsiek)
  39. - Skript kompiliert wieder (alle .ahk-Dateien enden jetzt mit mindestens zwei Leezeilen)
  40. - Ein Überbleibsel aus dem Build-Skript entfernt (bezog sich noch auf den Compose-Playground).
  41. Revision 888 (von Martin Roppelt)
  42. - Cokos mit 4 Tasten möglich.
  43. - horizontalen Ellipsen-CompKey wiederhergestellt.
  44. Revision 886 (von Stefan Mayer)
  45. ‐ Ellipse (horizontal und vertikal) wiederhergestellt.
  46. Revision 873 (von Martin Roppelt)
  47. ‐ Tabulatoren entfernt.
  48. Revision 872 (von Martin Roppelt)
  49. ‐ Alle Cokos automatisch eingefügt.
  50. ‐ Compose-Playground gelöscht.
  51. ‐ Anpassung an die Referenz.
  52. Revision 864 (von Martin Roppelt)
  53. ‐ 253/2822 Cokos ≙ 9%.
  54. Revision 849 (von Martin Roppelt)
  55. ‐ Ticket 31: Shift+(Strg und/oder Alt)+Ziffer sendet nicht mehr (Strg und/oder Alt)+(Ebene 2 der Ziffer).
  56. Revision 846 (von Martin Roppelt)
  57. ‐ 233/1802 Cokos.
  58. Revision 845 (von Martin Roppelt)
  59. ‐ Alle Cokos in die Compose.ahk migriert (Stand: 200/1805 Cokos).
  60. Revision 842 (von Martin Roppelt)
  61. ‐ Ebenen 5+6 der Taste ›I‹ wiederhergestellt (Klammern vergessen).
  62. Revision 841 (von Martin Roppelt)
  63. ‐ Ebenen 2‐6 der 1er-Taste wiederhergestellt (Klammern vergessen).
  64. Revision 840 (von Martin Roppelt)
  65. ‐ Ein paar Bugs ausgebessert.
  66. ‐ Blinde Compose als Standard (unschöne Ausgabe bei Cokos mit drei Tasten aus der Compose.ahk).
  67. Revision 838 (von Martin Roppelt)
  68. ‐ Compose.ahk als zentralen Ort für Cokos geschaffen.
  69. ‐ Weitere Vorbereitungen zur Aufnahme weiterer Cokos.
  70. ‐ ›©‹ jetzt auch wieder mit großem ›o‹.
  71. Revision 833 (von Martin Roppelt)
  72. ‐ Cokos: ›‼‹, ›⁇‹ über ♫?2/♫!2.
  73. ‐ Blinde Compose jetzt auch bei SendUnicodeChar().
  74. ‐ SendUnicodeChar belegt CompKey mit dem Argument.
  75. ‐ Nicht‐blinde Compose wiederhergestellt.
  76. ‐ Vorbereitungen zur Aufnahme weiterer Cokos.
  77. ‐ Begrenzung der (blinden) Compose auf 2 Zeichen, wenn keine Übereinstimmung mit Coko vorliegt.
  78. ‐ »ẗ« zu den Tokos hinzugefügt.
  79. ‐ "DeadKey :=" in die dead*‐Methoden verschoben.
  80. ‐ OutputChar in OutputChar12 umbenannt, OutputChar hat nur noch ein Argument.
  81. ‐ Code zusammengefasst, Formatierungen angepasst.
  82. Revisionen 827‐830 (von Martin Roppelt)
  83. ‐ 2 Achtelnoten (Composesymbol) auf 3(4).
  84. ‐ CapsLock‐Bug Ⅱ.: CapsLock funktionierte nicht mehr, wenn eine Taste gedrückt wurde, auf die CapsLock nicht wirkt (Ziffernreihe/‐block, Akzente, Punkt, Komma), da die Zeile »NoCaps = 0« in der isShiftPressed() nie ausgeführt wird.
  85. ‐ CapsLock‐Licht wird jetzt beim (Neu‐)Laden des Treibers ausgeschaltet.
  86. Revision 820 (von Martin Roppelt)
  87. ‐ Weitere Cokos ergänzt: ›Ə‹, ›dž‹, ›Dž‹, ›DŽ‹, glyphengleiche griechische Majuskeln.
  88. ‐ Echter Bindestich durch Shift+Mod3+Zirkumflex, Leertaste.
  89. Revision 815 (von Martin Roppelt)
  90. ‐ AHK um Verbindungszeichen bei doppelten toten Tasten ergänzt.
  91. ‐ Bei CapsLock, Mod3 und Shift wird jetzt ›+‹ statt ›*‹ gesendet.
  92. Revision 812 (von Martin Roppelt)
  93. ‐ Überflüssigen Code entfernt.
  94. ‐ Code gestrafft.
  95. Revision 810 (von Martin Roppelt)
  96. ‐ DeadCompose implementiert, uncomp…‐Methoden gelöscht, »return 0«‐Zeilen entfernt (wird sowieso gemacht).
  97. ‐ checkComp ausgebessert: »global« hatte gefehlt.
  98. • Damit wurde ›ſt‹ ermöglicht (war defekt).
  99. ‐ ahkTreiberKombi rausgeschmissen (war für den gelöschten msklc‐Treiber gedacht).
  100. ‐ Massenweise Formatierungen normalisiert.
  101. ‐ Zusätzliche Compose‐Aktivierung über Mod3+Mod3.
  102. ‐ Einhand‐ und Lernmodus wiederhergestellt.
  103. Revision 806 (von Dennis Heidsiek)
  104. ‐ Die automatisch erzeugte Datei neo20.ahk wird wieder um die SVN‐Keywords (Date, Author, Revision) ergänzt.
  105. Revision 804 (von Martin Roppelt)
  106. ‐ Formatierung vereinfacht und vereinheitlicht.
  107. ‐ Compose‐Ligaturen implementiert: ›fl‹, ›ffl‹(♫Fl), ›fi‹, ›ffi‹(♫Fi), ›ff‹, ›st‹, ›ſt‹.
  108. Revision 789 (von Martin Roppelt)
  109. ‐ NumLock‐Bug ausgebessert (NumLock konnte nach dem Beenden von Neo nicht mehr aktiviert werden).
  110. Revision 778 (von Martin Roppelt)
  111. ‐ CapsLock+Shift‐Fehler ausgebessert.
  112. Revision 777 (von Martin Roppelt)
  113. ‐ Syntaxfehler ausgebessert.
  114. Revision 776 (von Martin Roppelt)
  115. ‐ Modularisierung des AHK konsequent weitergeführt.
  116. ‐ Global‐Part.ahk, Keys‐Neo.ahk: ZeigeLockBoxen in ZeigeLockBox umbenannt.
  117. ‐ Keys‐Neo.ahk: Fehler ausgebessert, Quelltext neu ausgerichtet, Numpad an die Referenz angeglichen (Ebenen 2 und 4 vertauscht), Ebenen 7 und 8 ergänzt.
  118. ‐ Methods‐Layers.ahk: Mod3‐Lock abgeschafft, CapsLock neu geschrieben.
  119. Revision 749 (von Dennis Heidsiek)
  120. ‐ »?« und »¿« funktionieren wieder (Klammer vergessen).
  121. Revision 748 (von Dennis Heidsiek)
  122. ‐ Neue globale Variable »zeigeLockBoxen«: Soll mit MsgBoxen explizit auf das Ein‐ und Ausschalten des Mod{3,4}‐Locks hingewiesen werden?
  123. Revision 746 (von Martin Roppelt)
  124. ‐ Zurücksetzen der Tastatur über M4+Esc.
  125. ‐ #[2] sendet nicht mehr »'«.
  126. ‐ Variablen Ebene7 und Ebene8 zum Abfragen eingeführt.
  127. ‐ s(12)[2s]‐Bug von Matthias Wächter behoben (= Lang‐ſ‐Tastatur repariert).
  128. Revision 744 (von Stefan Mayer)
  129. ‐ Ebene4‐Ziffernblock: auf neo_d nun Komma (wie Referenz), »NumPadKomma« gibt es nicht.
  130. Revision 743 (von Matthias Wächter)
  131. ‐ Ebene4‐Ziffernblock: NumPadAdd und NumPadSub korrigiert.
  132. Revision 740 (von Matthias Wächter) – »Mega‐Patch«
  133. ‐ Straffung der Syntax bei der Abfrage der Ebenen und der Behandlung der toten Tasten und der Compose.
  134. ‐ Umstellung auf Virtual‐Key‐Scancodes; umgeht den AHK‐Bug, dass Scancodemarken durch SendUnicodeChar angesprungen werden.
  135. ‐ Die Scancodes für das Numpad (jeweils für ein‐ und ausgeschaltetes NumLock) haben jetzt paarweise Sprungmarken, um die Tastenbehandlung untereinander konsistent zu halten.
  136. ‐ Wiederherstellung der Modifier‐Locks.
  137. ‐ Reparatur der Bildschirmtastatur in der All.ahk.
  138. ‐ Modifier werder seltener und nur noch innerhalb der Sprungmarken abgefragt.
  139. ‐ Blinde tote Tasten auf M4+F9 (Toggle).
  140. ‐ Blinde Compose auf M4+F10 (Toggle) (noch nicht implementiert).
  141. Revision 728 (von Dennis Heidsiek):
  142. ‐ Ist die Datei »%APPDATA%\NEO2\NEO2.ini« vorhanden, werden dort eventuell vorhandene Werte für die Globalen Schalter beim Start übernommen.
  143. ‐ »LangSTastaturStandardmäßigEingeschaltet.ahk« wird nicht mehr unterstützt, weil sonst immer neu kompiliert werden muss.
  144. Revision 707 (von Dennis Heidsiek):
  145. ‐ Die Resourcen‐Dateien (PNGs, ICOs) werden nun nach »%TEMP%\NEO2\« extrahiert und nicht mehr in das Verzeichnis, in dem sich die EXE befindet.
  146. ‐ Die doppelten französischen Anführungszeichen werden nun ebenfalls über SendUnicodeChar gesendet.
  147. Revision 694 (von Martin Roppelt):
  148. ‐ Lang‐ſ‐Tastatur auf M4+F11.
  149. ‐ Entwickler können durch das Erstellen einer Datei »LangSTastaturStandardmäßigEingeschaltet.ahk« mit dem Inhalt »LangSTastatur := 1« diese standardmäßig aktivieren.
  150. ‐ Interne Darstellung der Ebenen (4 und 5 bei den toton Tasten wieder richtig getauscht.
  151. Revision 687 (von Dennis Heidsiek):
  152. ‐ Die SendUnicodeChar‐Methode um den GDK‐Workarround von Matthias Wächter ergänzt.
  153. ‐ (An/Aus) Icons an das Favicon der neuen Homepage angepasst.
  154. Revision 645 (von Martin Roppelt):
  155. ‐ Ellipse (…) zusätzlich auf M3+x.
  156. ‐ Lang‐ſ‐Tastatur probeweise auf M4+Esc.
  157. Revision 640 (von Dennis Heidsiek):
  158. ‐ Der untote Zirkumflex (^) auf Ebene 3 funktioniert jetzt auch in Java‐Programmen.
  159. Revision 639 (von Martin Roppelt):
  160. ‐ Lang‐ſ‐Tastatur kann nicht mehr durch einen Hotkey aktiviert werden.
  161. Revision 629 (von Martin Roppelt):
  162. ‐ Spitze Klammern (bra und ket) auf M5+8/9.
  163. Revision 624 (von Martin Roppelt):
  164. ‐ Lang‐ſ‐Tastatur (ein‐ und auszuschalten durch Mod4+ß) hinzugefügt: »s« wird zu »ſ«, »ß« wird zu »s« und »ſ« wird zu »ß«.
  165. Revision 616 (von Dennis Heidsiek):
  166. ‐ Der nicht funktionierende Mod5‐Lock‐Fix wurde wieder entfernt, da er sogar neue Fehler produzierte.
  167. Revision 615 (von Dennis Heidsiek):
  168. ‐ Erfolgloser Versuch, den Mod4‐Lock wiederherzustellen (durch eine Tilde vor den Scancodes der Bildschirmtastatur).
  169. ‐ Rechtschreibfehler korrigiert.
  170. ‐ Zwei AHK‐Links eingefügt.
  171. Revision 609 (von Dennis Heidsiek):
  172. ‐ Vorläufiger Abschluss der AHK‐Modularisierung.
  173. ‐ Bessere Testmöglichkeit »All.ahk« für AHK‐Entwickler hinzugefügt, bei der sich die Zeilenangaben in Fehlermeldungen auf die tatsächlichen Module und nicht auf das große »vereinigte« Skript beziehen.
  174. Revision 608 (von Martin Roppelt):
  175. ‐ Rechtschreibfehler korrigiert und Dateinamen aktualisiert und sortiert.
  176. Revision 590 (von Dennis Heidsiek):
  177. ‐ Erste technische Vorarbeiten zur logischen Modularisierung des viel zu lange gewordenen AHK‐Quellcodes.
  178. ‐ Neue Batch‐Datei Build‐Update.bat zur einfachen Aktualisierung der EXE‐Datei.
  179. Revision 583 (von Dennis Heidsiek):
  180. ‐ Kleinere Korrekturen ((5)(3), (5)(5) und (9)(3) stimmen wieder mit der Referenz überein).
  181. Revision 580 (von Matthias Berg):
  182. ‐ Bildschirmtastatur jetzt mit Mod4+F* statt Strg+F*, dies deaktiviert jedoch leider den Mod4‐Lock.
  183. Revision 570 (von Matthias Berg):
  184. ‐ Hotkeys für einHandNeo und lernModus durch entsprechende ScanCodes ersetzt.
  185. Revision 568 (von Matthias Berg):
  186. ‐ Sonderzeichen, Umlaute, z und y durch ScanCodes ersetzt.
  187. • jetzt wird auch bei eingestelltem US Layout Neo verwendet (z.B. für Chinesische InputMethodEditors).
  188. • rechter Mod3 geht noch nicht bei US‐Layout (weder ScanCode noch »\«).
  189. Revision 567 (von Dennis Heidsiek):
  190. ‐ Aktivierter Mod4‐Lock wird jetzt über die Rollen‐LED des Keybord angezeigt (analog zu CapsLock), die Num‐LED behält ihr bisheriges Verhalten.
  191. ‐ Neue Option im Skript: UseMod4Light.
  192. Revision 561 (von Matthias Berg):
  193. ‐ M4+Tab verhält sich jetzt wie das andere Tab dank »goto neo_tab«.
  194. Revision 560 (von Dennis Heidsiek):
  195. ‐ Neue Option im Skript: bildschirmTastaturEinbinden bindet die PNG‐Bilder der Bildschirmtastur mit in die exe‐Datei ein, so dass sich der Benutzer nur eine Datei herunterladen muss.
  196. Revision 559 (von Matthias Berg):
  197. ‐ Shift+Alt+Tab Problem gelöst (muss noch mehr auf Nebeneffekte getestet werden).
  198. Revision 558 (von Matthias Berg):
  199. ‐ Icon‐Bug behoben
  200. • Hotkeys dürfen nicht vor der folgenden Zeile stehen: »menu, tray, icon, neo.ico,,1«
  201. ‐ lernModus‐Konfigurations‐Bug behoben: or statt and(not).
  202. ‐ Ein paar leere Else‐Fälle eingebaut (um die Verständlichkeit zu erhöhen und mögliche Compilerprobleme zu vermeiden).
  203. Revision 556 (von Matthias Berg):
  204. ‐ lernModus (an/aus mit Strg+Komma)
  205. • im Skript konfigurierbar.
  206. • Schaltet z.B. Qwertz Tasten aus, die es auf der 4. Ebene gibt (Return, Backspace, …).
  207. • Kann auch Backspace und/oder Entfernen der 4. Ebene ausschalten (gut zum Lernen, richtig zu schreiben).
  208. ‐ Bug aufgetaucht: Icons werden nicht mehr angezeigt.
  209. Revision 544 (von Stefan Mayer):
  210. ‐ »,.:;« auf dem Mod4‐Ziffernblock an die aktuelle Referenz angepasst.
  211. ‐ Versionen von rho, theta, kappa und phi an die aktuelle Referenz angepasst.
  212. Revision 542 (von Matthias Berg):
  213. ‐ Bei EinHandNeo ist jetzt Space+y auch Mod4.
  214. ‐ AltGr‐Bug hoffentlich wieder behoben. Diesmal mit extra altGrPressed Variable.
  215. ‐ nurEbenenFuenfUndSechs umbenannt in ahkTreiberKombi und auf Ebene 4 statt 5 und 6 geändert.
  216. Revision 540 (von Matthias Berg):
  217. ‐ Stark überarbeitet um Wartbarkeit zu erhöhen und Redundanz zu verringern.
  218. ‐ nurEbenenFuenfUndSechs sollte nun auch auf Neo Treiber statt Qwertz laufen.
  219. • aber es muss noch jemand testen.
  220. • Problem: was kann man abfangen, wenn eine tote Taste gedrückt wird.
  221. ‐ einHandNeo:
  222. • An‐/Ausschalten mit Strg+Punkt.
  223. • Buchstaben der rechten Hand werden mit Space zur linken Hand.
  224. • Nebeneffekt: es gibt beim Festhalten von Space keine wiederholten Leerzeichen mehr.
  225. Revision 532 (von Matthias Berg):
  226. ‐ BildschirmTastatur
  227. • aktiviert mit Strg+F1 bis 7, schaltet Keyboard ein oder aus.
  228. • Strg+F7 zeigt die zuletzt angezeigte Ebene an (und wieder aus).
  229. • Strg+F8 schaltet AlwaysOnTop um.
  230. Revision 529 (von Stefan Mayer):
  231. ‐ Icon wird automatisch geladen, falls .ico‐Dateien im selbem Ordner.
  232. ‐ In der .exe sind die .ico mitgespeichert und werden automatisch geladen.
  233. Revision 528 (von Matthias Berg):
  234. ‐ Neo‐Icon ersetzt das bisherige Autohotkey‐Standard‐Icon im Tray‐Bereich.
  235. ‐ Neo‐Prozess jetzt automatisch auf hoher Priorität (siehe globale Schalter).
  236. ‐ Mod3‐Lock (nur wenn rechtes Mod3 zuerst gedrückt wird, andere Lösung führte zum Caps‐Bug).
  237. ‐ Mod4‐Lock (nur wenn das linke Mod4 zuerst gedrückt wird, andere Lösung führte zum AltGr‐Bug).
  238. ‐ Ein paar falsche Zeichen korrigiert.
  239. Revision 527 (von Matthias Berg):
  240. ‐ AltGr‐Problem hoffentlich behoben.
  241. ‐ Umschalt+Mod4‐Bug behoben.
  242. Revision 526 (von Matthias Berg):
  243. ‐ Ebenen 1 bis 4 ausschalten per Umschalter siehe erste Codezeile nurEbenenFuenfUndSechs = 0.
  244. ‐ Mod4‐Lock durch Mod4+Mod4.
  245. ‐ EbenenAktualisierung neu geschrieben.
  246. ‐ Ebene 6 über Mod3+Mod4.
  247. ‐ Ebenen (besonders Matheebene) an Referenz angepasst (allerdings kaum um Ebenen 1&2 gekümmert, besonders Compose könnte noch überholt werden).
  248. Revision 525 (von Matthias Berg):
  249. ‐ Capslock bei Zahlen und Sonderzeichen berücksichtigt.
  250. Revision 524 (von Matthias Berg):
  251. ‐ umgekehrtes ^ für o, a, ü,i sowie für die großen vokale (3. Ton chinesisch).
  252. • damit wird jetzt PinYin vollständig unterstützt: caron, macron, akut, grave auf uiaeoü.
  253. ‐ Sonderzeichen senden wieder blind ‐> Shortcuts funktionieren, Capslock ist leider Shiftlock.
  254. Revision 523 (von Matthias Berg):
  255. ‐ CapsLock geht jetzt auch bei allen Zeichen (»send Zeichen« statt »send {blind} Zeichen«).
  256. ‐ vertikale Ellipse (⋮) eingebaut.
  257. ‐ Umschalt+Umschalt für Capslock statt Mod3+Mod3.
  258. ‐ bei Suspend wird jetzt wirklich togglesuspend aufgerufen (auch beim Aktivieren per shift+pause).
  259. Revsion 490 (von Stefan Mayer):
  260. ‐ SUBSCRIPT von 0 bis 9 sowie (auf Ziffernblock) + und ‐
  261. • auch bei Ziffernblock auf der 5. Ebene
  262. ‐ Kein Parsen über die Zwischenablage mehr.
  263. ‐ Vista‐kompatibel.
  264. ‐ Compose‐Taste
  265. • Brüche (auf Zahlenreihe und Hardware‐Ziffernblock).
  266. • römische Zahlen.
  267. • Ligaturen und Copyright.