USB Keyboard shift-letter automatisch met 1 knop

Theorie en praktijk horen bij elkaar

Postby willem » Tue Jun 07, 2011 12:00 am

Hopelijk kan iemand mij helpen.
Na twee jaar ben ik er nog niet uit. Ik zal de uitdaging in het kort proberen voor te leggen. Allereerst, Ik ben geen elektronicus maar componenten solderen en met elkaar verbinden volgens een schema is geen probleem.

Ik ben bezig, en in de afrondende fase, om een cockpit te bouwen voor o.a. Flightsimulator. De aansturing zal vanaf dat moment niet meer direct via de knoppen van een toetsenbord gaan maar via aan een toetsenbord aangesloten knoppen. Heel simpel gezegd, in plaats van de a op het toetsenbord in te drukken wordt die letter a nu middels op die a aangesloten knop met een externe knop ingedrukt.
Maar als ik nu de letter A wil dan dient eerst de shift te worden ingedrukt. En hier zit hem het probleem. Ik wil via de druk op 1 knop een hoofdletter A krijgen. (Dus die knop is dan verbonden aan zowel de shift als aan de letter a) Echter, dit werkt dus niet. een kleine a blijft opgeroepen worden. Hoe kan nu die a een fractie van een seconde later worden aangeroepen dan die shift met 1 toets. Hoe kan ik een vertraging naar die a zenden?

Het zou prachtig zijn als iemand mij duidelijk zou kunnen informeren.
willem
 
Posts: 43
Joined: Thu Jan 02, 2014 3:35 pm

Postby kersing » Tue Jun 07, 2011 12:00 am

Willem,

Wat je wilt is vast niet onmogelijk, maar is het niet makkelijker om in plaats van een toetsenbord een USB microcontroller te gebruiken (bijvoorbeeld de ECIO-40? Die kan dan, met de juiste software, bij het activeren van een input een of meer codes verzenden. Volgens de datasheet heeft de module 30 ingangen (of uitgangen).

Groeten,

Jac'
kersing
 
Posts: 269
Joined: Thu Jan 02, 2014 3:28 pm

Postby kersing » Tue Jun 07, 2011 12:00 am

Een andere oplossing zou het gebruiken van twee toestenborden zijn (minimaal 1 USB). Van 1 toestenbord zet je de CAPS-lock toets aan en daarmee verbind je alle knoppen die een hoofdletter af moeten leveren. De CAPS-lock aanzetten zal wel iedere keer dat de PC gestart wordt gedaan moeten worden.
kersing
 
Posts: 269
Joined: Thu Jan 02, 2014 3:28 pm

Postby eriksl » Wed Jun 08, 2011 12:00 am

Dat laatste gaat niet werken

Sluit maar eens twee USB-toetsenborden op je PC aan en druk dan de caps lock in. Dan gaat op beide toetsenborden de caps lock "aan" (zie ook led).

Ik denk ook dat het veel beter is om een microcontroller te gebruiken en die keycodes / HID te laten sturen.

Overigens, als je toetsindrukken simuleert door contacten op de "matrix" (meestal membraam) kort te sluiten, dan zou het op zich gewoon moeten werken, shift en toets tegelijk indrukken, daar is het op gemaakt. Dat de keyboard-controller daar vervolgens twee keycodes en vier events (in het geval van PS/2) van maakt, is transparant. Met USB is het nog weer anders, dan kun je in HID gaan duiken :-/

Volgens mij ben jij echt niet de enige die een cockpit bouwt voor flight simulator, hoe doen anderen dat dan? Heeft flight simulator geen mogelijkheid andere inputs dan het toetsenbord te gebruiken, dat lijkt mij wel logisch...
eriksl
 
Posts: 515
Joined: Thu Jan 02, 2014 3:28 pm

Postby arjen h. » Wed Jun 08, 2011 12:00 am

erikslVolgens mij ben jij echt niet de enige die een cockpit bouwt voor flight simulator, hoe doen anderen dat dan? Heeft flight simulator geen mogelijkheid andere inputs dan het toetsenbord te gebruiken, dat lijkt mij wel logisch...


BoeingBrown bij Actuele Projecten -> Profiler misschien eens vragen...
Het Elektor forum is voor de lezers; voor een vraag aan de redactie kun je het beste Elektor een email sturen.
arjen h.
Moderator
 
Posts: 1290
Joined: Thu Jan 02, 2014 10:40 am

Postby eriksl » Wed Jun 08, 2011 12:00 am

Nou ja, ik ken dus in ieder geval al één iemand die ook zoiets gemaakt heeft...
eriksl
 
Posts: 515
Joined: Thu Jan 02, 2014 3:28 pm

Postby willem » Wed Jun 08, 2011 12:00 am

Hallo Allemaal,

Wow, wat leuk te lezen dat er wordt mee gedacht
Ik heb de afgelopen 2 jaar diverse mensen gesproken en sites (forums) benaderd met deze vraag. Echter, niemand heeft het antwoord kunnen geven, ook ben ik nog niemand tegen gekomen die hetzelfde probeert als waar ik mee bezig ben.
Iedereen koopt (een aantal) modules en dat ben ik niet van plan. Dit loopt enorm in de papieren. Zeker als je letterlijk alle functies van bv een 747 wilt kunnen aansturen zonder dat je daarvoor je toetsenbord wilt aanspreken. (Uiteindelijk wel maar dan zijn er knoppen volgens een cockpit opgesteld en deze knoppen zijn letterlijk op een toetsenbord van 2,50 euro met USB aangesloten. Dus geen ongelofelijk dure modules
En inderdaad, die optie zou geweldig zijn, 2 toetsenborden waarvan 1 de capslock aan staat maar dat heb ik geprobeerd en zoals vermeldt krijg je via beide toetsenborden hoofdetters en dus dezelfde aangestuurde functies.

Wellicht dat er toch een dergelijke eenvoudige optie te vinden is?

Tot zover, heel hartelijk dank voor de hulp.
willem
 
Posts: 43
Joined: Thu Jan 02, 2014 3:35 pm

Postby schueler » Wed Jun 08, 2011 12:00 am

Misschien wel wat duurder dan een toetsenbord van 2,50 euro maar je zou het ook met een PIC of AVR kunnen oplossen...

Een andere oplossing is een AND gebruiken. Sluit de schakelaar op één van de pennen en ook via een RC netwerk op de andere pen. Je krijgt een vertraagd signaal op de uitgang.
Sluit ook de switch aan op de shift toets en de vertraagde op de letter 'a'.

Zou moeten werken.


Ben
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Postby schueler » Wed Jun 08, 2011 12:00 am

Even voor de duidelijkheid een plaatje erbij...


Ben
Attachments
AND-delay.png
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Postby kersing » Wed Jun 08, 2011 12:00 am

SchuelerMisschien wel wat duurder dan een toetsenbord van 2,50 euro maar je zou het ook met een PIC of AVR kunnen oplossen...


Mijn eerste idee, een losse PIC is goedkoper dan de ECIO, maar dan zijn er extra onderdelen en een programmer nodig. ECIO bevat een bootloader is daarom via USB te programmeren en is al voorzien van alle onderdelen nodig om de PIC (18f serie) te laten werken.

Schueler
Een andere oplossing is een AND gebruiken. Sluit de schakelaar op één van de pennen en ook via een RC netwerk op de andere pen. Je krijgt een vertraagd signaal op de uitgang.
Sluit ook de switch aan op de shift toets en de vertraagde op de letter 'a'.

Zou moeten werken.

Ben

Een toetsenbord werkt over het algemeen door met een schakelaar twee draden in een matrix met elkaar te verbinden. Dus zouden de rechter punten van je schema gebruikt moeten worden om een relais of (met enige mazzel kan het daarmee) opto coupler aan te sturen die bij de a en de shift de banen van de matrix met elkaar verbinden.

Groeten,

Jac
kersing
 
Posts: 269
Joined: Thu Jan 02, 2014 3:28 pm

Next

Return to Elektronica algemeen

Who is online

Users browsing this forum: No registered users and 2 guests