Forum: Mikrocontroller und Digitale Elektronik von qwerty nach neo in hardware


von dave (Gast)


Lesenswert?

Hallo zusammen!
Ich bin auf der Suche nach einer HW-Lösung, die ich zwischen 
USB-Tastatur und PC stecke, die automatisch von QWERTY nach NEO 
übersetzt. Wer kennt so ein Projekt oder hat so etwas schon selber 
gebaut?
Danke für Eure Tipps.

Gruß Dave

von zufaulzumanmelden (Gast)


Lesenswert?

Es wäre etwas komplexer, das umzusetzen. Glaube, so weit hat sich noch 
keiner von den Neolingen vorgewagt. Es gibt/gab allerdings Tastaturen, 
bei der das Layout in der Firmware gespeichert war. Für die Truly z.B. 
gab’s auch Neo2.

von dave (Gast)


Lesenswert?

Ja ich weiß, ich habe selber eine KINESIS Advantage 2 zu Hause. Die ist 
mir zum rumschleppen zu Schade.

von Axel S. (a-za-z0-9)


Lesenswert?

dave schrieb:
> Ich bin auf der Suche nach einer HW-Lösung, die ich zwischen
> USB-Tastatur und PC stecke, die automatisch von QWERTY nach NEO
> übersetzt.

Das ergibt wenig Sinn. Keyboards senden keine Zeichencodes (also z.B. 
schon mal nicht QWERTY) sondern Scancodes [1][2]. Ein Scancode 
kennzeichnet die Position einer Taste, nicht deren Aufdruck. So 
sendet z.B. eine QWERTZ Tastatur für das Z den gleichen Scancode wie 
eine QWERTY Tastatur für das Y.

Die Zuordnung von Scancodes zu Zeichencodes (inclusive dem Handling von 
Modifier-Tasten wie SHIFT, ALT, CTRL, ...) erledigt der Treiber im PC.

So lange es um eine reine Permutation der Tasten geht, könnte man 
natürlich die Scancodes entsprechend permutieren. Also z.B. den Scancode 
für die Taste, die bei QWERTY das Q ist, auf den Scancode umsetzen, der 
bei QWERTY das X ist. Aber das ist eine viel schlechtere Lösung, als das 
Mapping im Treiber zu machen.

[1] https://en.wikipedia.org/wiki/Scancode
[2] http://www.philipstorr.id.au/pcbook/book3/scancode.htm

von Dave (Gast)


Lesenswert?

Guten Morgen! Welche Hardware kannst Du mir empfehlen? Also ein Board, 
dass zwischen PC und Tastatur seinen Dienst verrichten kann.

von Lesen bildet (Gast)


Lesenswert?

Dave schrieb:
> Guten Morgen! Welche Hardware kannst Du mir empfehlen? Also ein
> Board,
> dass zwischen PC und Tastatur seinen Dienst verrichten kann.

Hast du die Antworten überhaupt gelesen?
Offensichtlich nicht.

Du kannst das über den Treiber machen. Keine Hardware nötig. Folgendes 
hat mich 3s gekostet:
https://neo-layout.org/index_en.html

Wenn du sowas bauen willst (warum auch immer, denn es ist dumm und 
sinnlos), dann nimm eine PS-2 Tastatur. Mit USB ist das nur unnötig 
kompliziert, PS2 kann jeder µC.

von Dave (Gast)


Lesenswert?

Die Frage nach einer geeigneten  Hardware ist aber immer noch nicht 
beantwortet worden. Egal wie schwachsinnig das Projekt auch ist.

von zufaulzumanmelden (Gast)


Lesenswert?

Ich kann die Intention schon verstehen, das über ein Hardwareteil machen 
zu wollen, statt auf Softwareebene: Windows, zum Beispiel, bringt von 
Haus aus nicht mal die Option für Neo2 mit. Und auch bei Linux ist’s 
etwas umständlich, das auf ‘nem TTY zu bekommen, oder gar schon beim 
Bootloader (während es unter X11 mit einem Befehl eingestellt ist).

Soweit ich weiß, gibt’s, wie oben schon geschrieben, ja durchaus 
Tastaturen, die von sich aus die richtigen Tastenzuordnungen haben. Ob 
die allerdings auch die Ebenen 3-6 ohne Unterstützung seitens des OS 
sauber hinbekommen, weiß ich nicht – da dave aber wohl so eine Tastatur 
hat, wird er’s wissen –, aber die ersten beiden Ebenen wären auch 
schonmal ein Fortschritt.

Zusammengefasst: technisch sollte es zumindest teilweise machbar sein, 
durch den USB-Teil und seine Protokolle ist’s aber ziemlich kompliziert. 
Andererseits bringen z.B. USB-Keylogger schon mal ⅔ der Funktionalität 
mit – in dieser Richtung würde ich also schauen.

Wünschenswert wäre so ein Device für einige Leute auf jeden Fall (mich 
eingeschlossen); wenn da also ’n Projekt draus würde, würde ich mich im 
Rahmen meiner bescheidenen Möglichkeiten beteiligen wollen.

von Hauke Haien (Gast)


Lesenswert?

Also der Teensy3.6 kann USB HID "IN" und auch die kleineren Teensys 
können HID "OUT".
Wenn es ruhig schwachsinnig sein darf, würd ich einen 3.6 mit einem LC 
oder 3.2 per UART verbinden und die Befehle da durch schieben...

von Dave (Gast)


Lesenswert?

Vielen Dank für Deine Antwort.

von Frank K. (fchk)


Lesenswert?

Dave schrieb:
> Guten Morgen! Welche Hardware kannst Du mir empfehlen? Also ein Board,
> dass zwischen PC und Tastatur seinen Dienst verrichten kann.

https://www.microchip.com/wwwproducts/en/PIC32MK0512GPE100

Hat zwei separrate USB 2.0 FS Ports, die Host und Device sein können.

fchk

von Lesen bildet (Gast)


Lesenswert?

Dave schrieb:
> Die Frage nach einer geeigneten  Hardware ist aber immer noch
> nicht
> beantwortet worden. Egal wie schwachsinnig das Projekt auch ist.

Doch, ist sie.
ein beliebiger µC, wenn man I2C verwendet.

von Lesen bildet (Gast)


Lesenswert?

zufaulzumanmelden schrieb:
> Zusammengefasst: technisch sollte es zumindest teilweise machbar sein,
> durch den USB-Teil und seine Protokolle ist’s aber ziemlich kompliziert.

OHGOTT. Warum liest keiner die Beiträge?

Das Ganze ist relativ simpel wenn man I2C (PS2) verwendet. Im Normalfall 
hat man einen PS2 Anschluss.
Und dafür tut es jeder µC. PIC, STM32, AVR, MSP430 whatever.

Mit USB ist das horrend kompliziert und kaum zu schaffen, weil man Host 
und Device implementiern muss. Mit I2c (PS2) ist das machbar.

von zufaulzumanmelden (Gast)


Lesenswert?

> Doch, ist sie.
> ein beliebiger µC, wenn man I2C verwendet.

Es ging um USB. Da bringt I²C rein gar nichts. Die Vorschläge mit dem 
PIC  und den Teensys sind vielversprechend.

von Hauke Haien (Gast)


Lesenswert?

dave schrieb:
> Ich bin auf der Suche nach einer HW-Lösung, die ich zwischen
> USB-Tastatur und PC stecke,

OHGOTT warum liest du die Frage nicht?!

von zufaulzumanmelden (Gast)


Lesenswert?

> OHGOTT. Warum liest keiner die Beiträge?

… ja, warum tust du’s denn nicht‽ Es gibt sehr wohl Devices, die 
zumindest den USB-HID-Teil beherrschen, und es gibt μC, mit denen man 
die USB-Funktionalität hat. Der Rest mag aufwendig sein, aber nicht 
unmöglich.

Da das Ganze wahrscheinlich für den Einsatz in der Praxis gedacht ist, 
wäre PS/2 nunmal keine Option.

von Hauke Haien (Gast)


Lesenswert?

Teensy3.6 hat sogar 2x USB. Damit dürfte das der einfachste Weg sein.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Lesen bildet schrieb:
> Das Ganze ist relativ simpel wenn man I2C (PS2) verwendet.

Das ist zwar vielleicht simpel, funktioniert dann aber halt nicht.

Die "PS/2"-Schnittstelle ist keine I2C-Schnittstelle.

von Tilo (Gast)


Lesenswert?

Axel S. schrieb:

> Das ergibt wenig Sinn. Keyboards senden keine Zeichencodes (also z.B.
> schon mal nicht QWERTY) sondern Scancodes [1][2].

Sp pauschal stimmt das nicht, es hängt davon ab, was für HID man 
benutzt.

Ich hab letztes Jahr einen cec -> usb konverter mit einem stm32 gebaut, 
damit ich kodi mit der tv Fernbedienung steuern kann.
Ich habe nicht mit Scancodes sondern direkt mit den Zeichen gearbeitet. 
Sondertasten wie shift oder alt sind als Flag kodiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.