Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Delphi stisknuti klaves

Já si to představuju takhle:
- potřebujeme joystick, aby bylo čím hýbat. Joystiky teď obvykle mají USB rozhraní, což není tak jednoduché na správné provedení (ten protokol je dost složitý, potřebuješ spc. HW na komunikaci atd atd.), takže to prostě všechno obejdu, ten joystick má uvnitř dva potenciometry a pár tlačítek, já k nim připojím drátky a vyvedu si to ven.

- venku bude Arduino, do toho ty drátky strčím a dál už je to všechno SW v jednoduchém Cčku s plnou podporou knihoven.
(V tom příkladu co jsem pastnul to čte tlačítka (digitalRead(pin) = 1/0 pokud je/není stisknuto) pro ty potenciometry se obdobně použije analogRead(pin) = 0..4095 (nebo tak nějak), podle toho v jaké poloze je.)

Ten program bude vlastně úplně stejný jako ten příklad, jen tam bude víc větví (pro každé tlačítko a pro každý rozsah potenciometru).

(jde o tuhle část:

  // use the pushbuttons to control the keyboard:
  if (digitalRead(upButton) == HIGH) {
    Keyboard.write('u');
  }
  if (digitalRead(downButton) == HIGH) {
    Keyboard.write('d');
  }
  if (digitalRead(leftButton) == HIGH) {
    Keyboard.write('l');
  }
  if (digitalRead(rightButton) == HIGH) {
    Keyboard.write('r');
  }
  if (digitalRead(mouseButton) == HIGH) {
    Keyboard.write('m');
  }
)
O zbytek se postarají standardní Arduino knihovny.

Takže tu máme joystick, z něj vede jeden vícežilový kablík k malé krabiččce s Arduinem, která je připojena do USB portu počítače (notebooku, tabletu ..). Počítač vidí další USB klávesnici a občas mu z ní přijde, že někdo stisknul nějaké písmenko, stejně jako je tomu u jakékoli jiné USB klávesnice.

Co se programování týče, tak to může být tak jednoduché, jako v tom příkladu, nebo si tam můžeš dopsat, cokoli tě napadne (autorepeat, klidne i s rychlostí měnící se podle úhlu páky, makra, nebo cokoli jiného, fantasii se meze nekladou.)

Se SW simulováním HW přímo v dotyčném počítači je ten problém, že musíš jít hodně hluboko a stejně to může nějaká hra obejít, tím, že půjde na úroveň ovladače a bude si číst ty porty sama - což už nepřeprogramuješ (aspoň ne čistě a přitom rozumně snadno). Tady bychom simulovali tu HW USB klávesnici v jednoduchém prostředí, které máme plně pod kontrolou a dělá se to nepoměrně snáz, než ve Windows, a přitom z hlediska počítače jsme naprosto "normální USB klávesnice" a to už na úrovni průběhu napětí na USB portu - to žádný program neobejde, protože my tak USB klávesnice podle všech myslitelných kritérií doopravdy jsme.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny