Ich erwäge, eine ThinkPad X4x-Tastatur an einen PC anzuschließen und einen programmierbaren KeyWarrior- Tastaturcontroller zwischen dem Flachbandkabel der Tastatur und dem USB-Kabel zu verwenden, um sie mit dem PC zu verbinden. Da ich kein Elektroniker bin, habe ich im KeyWarrior-Forum nachgefragt und mir wurde gesagt, dass dies funktionieren sollte. Die notwendigen Teile sind alle leicht zu beschaffen, und ich weiß, wie man einen Lötkolben benutzt. ;-)
Wie auch immer, überall höre ich Arduino, und es würde sich wahrscheinlich lohnen, etwas über diesen universellen Mikrocontroller zu lernen. Wäre es möglich, die KeyWarrior-Lösung durch eine Arduino-Lösung zu ersetzen?
Beachten Sie, dass der KeyWarrior16 zwei Ebenen für die FN-Taste auf der Tastatur unterstützt .
Ich habe jetzt auch einen Thread im Arduino-Forum eröffnet.
Ja. Es gibt drei Dinge, die Sie tun müssten. Die erste ist die Tastaturmatrix. Tastaturen werden normalerweise unter Verwendung einer Matrix von Ausgängen zu Eingängen hergestellt, wobei jede Taste auf der Tastatur einer Kombination aus Eingang und Ausgang entspricht. 8x8 ist eine gemeinsame Matrix. Kleinere Telefontastaturen sind ein Beispiel für 4x3- und 4x4-Matrizen und werden häufig in Arduino-Projekten verwendet.
Der zweite Teil und der dritte Teil sind miteinander verflochten. Der zweite Teil ist das Protokoll zum Computer. Seriell, PS/2 oder USB sind gebräuchlich, wobei USB die neueste ist (ebenfalls Bluetooth, aber das ist drahtlos). Serial und PS/2 können bitbanged werden, ebenso wie USB, aber es ist etwas schwieriger. V-USB ist ein Projekt zur Software-USB-Implementierung auf ATTINY- und ATTMEGA-Prozessoren (wie den Arduino-Prozessoren).
Der dritte Teil ist der eigentliche Code zwischen dem Lesen der Tastaturmatrix und dem Senden über USB. Auf der USB-Seite möchten Sie eine USB-HID-Tastatur (treiberlos auf der PC-Seite). Auf der Tastaturseite können Sie Polling oder Interrupts verwenden. Ihr Code würde entscheiden, welche Matrixkombination welche Tastaturtaste und welcher Tastatur-Scan-Code ist.
Die Funktionstasten werden im Wesentlichen von der Software verwaltet, genauso wie die Umschalt-/Steuerungs-/Options-/Befehls-/Windows-Taste. Ihr Code würde die gedrückte Funktionstaste lesen, dann würde jede andere gedrückte Taste den Schlüssel + Funktions-Scan-Code senden, anstatt nur den Tasten-Scan-Code.
Wenn Sie einfach "Arduino USB Keyboard" googeln, erhalten Sie buchstäblich Google von Beispielprojekten, die dies tun. Auch "Arduino-Tastatur".
Pablo Maurin
feklee