Hardware > Hardware (Classic 16-/32-Bit)

ST-Tastatur per USB am PC/R-Pi/MIST/... betreiben

<< < (7/8) > >>

jeloneal:

--- Zitat von: nobox am Mo 09.02.2015, 21:47:59 ---So, ich habe den Sketch für Arduino mal (fast komplett neu) weiterentwickelt, auf deutsche Tastaturen optimiert, (<> Taste, AltGR auf ~, F11 F12 auf Num () und Page up/down auf Help/Undo), einen Maus und Joysticktreiber eingebaut und einen Mausspeedup eingebaut.

Für den Joystick mussten die  USBapi.h und die HID.cpp der Arduino IDE angepasst werden.
Ich empfehle die Verwendung eines Pro Micro, der ist klein und billig.

Soll das Keyboard auch im BIOS funktionieren, muss man wahrscheinlich einen Teensy verwenden und den Code anpassen.

RX und TX der Tastatur mit RX/TX des Arduino, V+ und GND ebenso verbinden.
Arduino per USB an den PC und ab gehts ...

--- Ende Zitat ---

@nobox Ich hab dieses Thema wiederentdeckt, da ich auch grade versuche einen alten Atari mit einem Raspberry aufzupeppen. Ich hab jetzt hier einen Arduino Pro  Micro (will wohl als Leonardo angesprochen werden). Ich die beiden von dir veränderten Dateien angepasst aber beim kompilieren knallts dann und ich kann den Code nicht auf den Arduino schieben. Jetzt stecke ich hier leider in einer Sackgasse und benötige Hilfe.

Hier mal die Fehlermeldung:

--- Code: ---Arduino: 1.8.11 (Windows 10), Board: "Arduino Leonardo"

In file included from C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:234:0,

                 from sketch\ikbd.ino.cpp:1:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/USBAPI.h:23:1: error: 'ring_buffer' does not name a type

 ring_buffer *_cdc_rx_buffer;

 ^~~~~~~~~~~

exit status 1
Fehler beim Kompilieren für das Board Arduino Leonardo.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.

--- Ende Code ---

nobox:
Füg mal oberhalb von


class Serial_


in der USBAPI.h folgendes ein





struct ring_buffer;


#ifndef SERIAL_BUFFER_SIZE
#if ((RAMEND - RAMSTART) < 1023)
#define SERIAL_BUFFER_SIZE 16
#else
#define SERIAL_BUFFER_SIZE 64
#endif
#endif
#if (SERIAL_BUFFER_SIZE>256)
#error Please lower the CDC Buffer size
#endif

alers:
Will ja nix sagen, aber hast Du Dir schon ausgesucht, welche 81 Tasten Du dann nur emulieren willst...
...weil soweit ich das noch weiß, kann der Pro eine Matrix von maximal 9x9 Tasten (Also 81 Tasten) ansteuern, da ist halt der eklatante Unterschied zum Leonardo (Da funktionieren halt alle), oder haben die mittlerweile den Pro so abgeändert, daß er mehr Ports dafür hat ?!?

nobox:
Lieber Herr @alers, sie haben das Prinzip nicht  verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...

alers:

--- Zitat von: nobox am Sa 06.06.2020, 15:13:49 ---Lieber Herr @alers, sie haben das Prinzip nicht  verstanden. Die Matrixabfrage wird mitnichten durch den Arduino gemacht, sondern nach wie vor vom HD6301. Der Leonardo uebersetzt nur dessen serielle ausgabe und gaukelt dem PC eine USB-Tastatur vor ...

--- Ende Zitat ---
Hmmm. also würden dann die Micros (Obwohl in deren Specs was anderes steht) es doch können? Super :-) Dann kann ich meine vorherige Aussage nur revidieren und werde selbstredend meine Leonardos durch die Pro Micros ersetzen...
Nee, mache ich nicht.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln