dokumentation/docs/Hardware/Hardwaretreiber.md

3.9 KiB

Hardware Treiber

Möchte oder kann man das Layout softwareseitig nicht ändern, besteht die Möglichkeit Neo mittels eines Tastaturadapters zu nutzen.

Umsetzungen

Neo-Layout Projekt

Für das Neo-Layout existiert ein Hardware Adapter, welches die Funktionalität der Neo-Tastatur weitgehend vollständig abbildet indem alle Ebenen und die wichtigsten Compose-Sequenzen implementiert sind. Weiter sind zusätzliche Features, wie das schnelle Umschalten zwischen Neo-Layout und Standard-Layout möglich.

QMK Projekt

Das QMK-Projekt ist ein Projekt, welches einen generisches Tastaturtreiber bietet. Entweder direkt in programmierbaren Tastaturen wie der Ergodox, oder durch Umsetzung auf Zwischensteckern wie einem USB-USB-Konverter. Es ist universeller nutzbar, unterstützt allerdings nicht alle Eigenarten des Neo-Layouts.

Technik

Eine Standardtastatur sendet nicht etwa das Zeichen, welches gedrückt wird, sondern einen Code, welche die Position des Zeichens wiedergibt. Drückt man beispielsweise auf einer QUERTZ-Tastatur das Z, wird das gleiche gesendet, wie wenn man auf einer QUERTY-Tastatur das Y sendet. Die Entscheidung, wie das Zeichen interpretiert wird, findet softwareseitig durch das ausgewählte Tastaturlayout statt. So wird hier bei einem deutschen Layout ein Z bei einem englischen ein Y und beim Neo-Layout ein K interpretiert.

Bei einer Hardware-Umsetzung greift man an dieser Stelle ein. Man sendet anstelle des eigentlich Scancodes einen anderen. Sendet man bei eingestelltem Quertz-Layout beispielsweise anstelle des Scancodes der Taste Z den der Taste K, dann wird diese Taste als K interpretiert, bei eingestelltem Quertz-Layout. Stellt man das Querty-Layout ein müsste man natürlich den Scancode der Taste Y modifizieren. Zum ummappen braucht es dedizierte Hardware, wie einem Teensy oder Arduino Mirco, welches eine USB-Tastatur emuliert. Die eigentliche Tastatur ist über einen Adapter mit diesem Board verbunden und liest die Tastaureingaben ein. Bei Tastendruck wird eine Aktion abgeleitet. Dies kann das Senden eines Tastendrucks sein, oder aber auch eine interne Zustandsänderung, wie eine Ebenenumschaltung.

Vor- und Nachteile

Vorteile

  • Keine Installation erforderlich
  • Keine Probleme mit dem Layout bei Remote-Arbeit
  • Keine Probleme bei Erkennung der zusätzlichen Modifier bei diversen Software-Produkten
  • Verwendung von 2 Tastaturen mit unterschiedlichen Layouts gleichzeitig möglich (bspw. Paar-Programmierung, Remote Support)
  • Vermeidung jeglicher weiterer Seiteneffekte des Layouts.
  • Einwandfreie Funktion von Standard-Tastenkombinationen

Nachteile

  • Zusätzliche Hardware erforderlich
  • Zusatzfunktionen der Tastatur nur begrenzt nutzbar (abhängig vom Umfang der Umsetzung des HID-Standards)
  • Im Softwarelayout nicht enthalte Zeichen (bspw. griechische Zeichen) können nicht durch einen Tastaturcodes dargestellt werden, da sie eben nicht existieren für das Layout. Es muss sich hier der Betriebssystem-Bordmittel, wie bei Windows bspw. Alt + Num-Block bedient werden. Diese Makros funktionieren bei Windows wiederrum lückenhaft.
  • Nicht nutzbar auf Laptop-Tastaturen
  • Compose-Sequenzen auf Speicher der Hardware beschränkt

Schlussfolgerung

Eine Hardwareumsetzung hat insbesondere dann Vorteile, wenn man mit Windows arbeitet, da dieser dort die meisten Probleme bereitet. Wenn man sich oft auf Remote Maschinen einwählt funktioniert die Arbeit einwandfrei. Nicht vorteilhaft ist die Verwendung dann, wenn oft Unicode-Zeichen in verschiedenen Anwendungen benötigt werden oder ohne externe Tastatur gearbeitet werden soll. Weiter sollte man auf Sonderfunktionen der verwendeten Tastatur verzichten können, da es nur schwer möglich ist, den kompletten HID-Standard in einem Adapter umzusetzen.