RockPad
Ich wollte mir eine kleine Akkordtastatur zulegen die mit nur einer Hand bedient werden kann. Dabei wurde ich auf das FrogPad aufmerksam, das leider nicht mehr hergestellt wird. Daraufhin habe ich mir meine eigene Tastatur gebaut die nach dem gleichen Prinzip aufgebaut ist.
Funktionsweise
Das RockPad meldet sich am PC als Keyboard an und kann ohne weiteren Treiber verwendet werden. Die Tastatur besteht aus 20 Tasten von denen 15 Buchstabentasten und 5 Modustasten sind. Je nach Kombination der Modustasten lassen sich bis zu 10 verschiedene Zeichen aus einer Buchstabentaste generieren.
Hardware
Der erste Prototyp wurde auf eine Lochrasterplatine erstellt. Da ich keinen großen Aufwand mit der Verschaltung haben wollte, hatte ich für die Steuerung ein fertiges Mikrocontroller-Board genommen. Meine Wahl fiel zuerst auf ein Teensy 2.0 mit einem Atmega32U4 und 25 verfügbaren I/O-Ports. Dadurch konnte ich auf eine Matrixschaltung der Tasten verzichten und jeder Taste ein Port-Pin zuordnen. Auch die Probleme mit einem Tasten-Rollover und dessen Gegenmaßnahmen entfallen dadurch. An die verbleibenden 5 Ports wurden LEDs angeschlossen die die Schaltzustände der Modustasten anzeigen.
Der Vorteil des Teensy-Boards ist, dass kompilierte Programm sehr schnell auf das Board übertragen werden können. Es wird lediglich die Reset-Tate gedrückt um in den Bootloader zu gelangen. Am PC lädt dann ein Flash-Tool automatisch eine gewählte .hex-Datei auf den Controller und führt diese aus. Der Nachteil ist, dass es keine Debug-Möglichkeiten gibt und man bei Fehlern im Quellcode eventuell lange und umständlich suchen muss.
Bei den Tasten habe ich mich für schwarze Cherry-MX Schalter und passenden weißen Kappen entschieden. Für die Buchstabentasten habe ich R1-Kappen, für die Modustasten wollte ich eigentlich breitere R5-Kappen (wie z.B. Alt-, Strg-Taste) verwenden, da ich in diesen besser die Lichtleiter für die LEDs unterbringen kann, aber aufgrund einer Falschlieferung habe ich auch hier die R1-Kappen verwendet. Für die Beschriftung der Tasten habe ich mir schon ein Verfahren ausgesucht. Sobald Zeit ist werden diese also beschriftet.
Mit den Erkenntnissen aus dem Prototyp, habe ich mir eine Platine entworfen die auf eine Atmel AT90USB1287 aufbaut. Dieser Chip wird auch im Teensy++ 2.0 verwendet und hat mit 38 I/O-Ports mehr Anschlussmöglichkeiten für zusätzliche LEDs, Schalter und Tasten.
Es ist möglich die Tastatur von links- auf rechtshändigen Betrieb umzustellen. Dazu wird einfach eine spezielle Tastenkombination gedrückt. Die Tastenkappen werden dann abgezogen und entsprechend vertauscht wieder aufgesteckt.
Software
Die Software ist in C geschrieben und basiert auf einem Keyboard-Template für das Teensy-Board. Dort wurde jedoch nur der USB HID-Stack übernommen. Bislang ist die kompilierte Firmware 12,5 kBytes groß und belegt somit nur knapp 10% des Flash-Speichers des Mikrocontrollers. Bislang umfasst das Programm knapp 900 Codezeilen. Etwa die Hälfte davon entfällt auf die Definition der Tastenfunktionen und der LEDs
Nach dem Initialisieren läuft die Tastenabfrage zyklisch in der Hauptschleife. Zuerst werden die Modustasten abgefragt und ausgewertet, anschließend die Buchstabentasten, die dann das jeweilige Zeichen per USB an den PC leiten.
Tastaturlayout
Durch die 5 Modustasten die teilweise auch mehrfach belegt sind, lassen sich mit der Tastatur insgesamt über 150 verschiedene Zeichen und Steuertasten erzeugen. Da noch einige Tastenkombination unbelegt sind, nutzt das RockPad bislang nur 141 Kombinationen.
Das Layout entspricht bis auf kleineren Anpassungen dem des FrogPad. Wahrscheinlich werde ich aber noch ein paar kleine Änderungen vornehmen um das Layout etwas an die deutsche Sprache anzupassen (z.B. Austauschen von Z und Y).
Hier eine Tabelle mit dem vollständigen Zeichensatz des RockPads:
Normal | Shift | grün | Umschalt + grün | orange | Symbol | Symbol +grün | Symbol + orange | Nummer | Nummer + grün |
---|---|---|---|---|---|---|---|---|---|
f | F | TAB | ESC | ? | * | ||||
a | A | ´ | Pos1 | & | + | Rollen | 7 | F7 | |
r | R | b | B | Ende | * | = | Druck | 8 | F8 |
w | W | m | M | Pause | : | $ | 9 | F9 | |
p | P | j | J | Bild↑ | ; | # | Num Lock | - | , |
o | O | q | Q | Einfg | / | \ | linkshändig | / | F11 |
e | E | z | Z | Strg | ! | % | Strg Lock | 4 | F4 |
h | H | l | L | Alt | - | | | Alt Lock | 5 | F5 |
t | T | c | C | ↑ | @ | ~ | 6 | F6 | |
d | D | v | V | Bild ↓ | _ | ^ | rechtshändig | + | F12 |
u | U | GUI | Entf | " | ' | GUI Lock | 0 | F10 | |
i | I | Menü | Rücktaste | < | > | Menü Lock | 1 | F1 | |
n | N | k | K | ← | ( | ) | 2 | F2 | |
s | S | g | G | ↓ | [ | ] | 3 | F3 | |
y | Y | x | X | → | { | } | . | $ |
- Details
- Zuletzt aktualisiert: 17. Dezember 2018