Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Klawiatura i naciskanie wielu przycisków na raz.

Cieplox 09 Cze 2005 17:43 6601 6
  • #1 09 Cze 2005 17:43
    Cieplox
    Poziom 9  

    Witajcie. Mam problem z klawiaturą. Chodzi o naciskanie jednorazowo wielu przycisków na raz. Podobno istnieje taka możliwość, lecz jest jednak haczyk. Taki bufor klawiatury trzeba samemu napisać (tyle znalazłem na necie) http://cepa.algorytmy.one.pl/texts/bufor_klawiatury_asm.txt Przyznam się, że nie umiem napisać czegoś takiego. Dlatego też prosiłbym Was o pomoc. Jeśli byście umieścili link do jakiegoś programiku, ale czegoś przydatnego, albo coś poradzili, byłbym bardzo wdzięczny.
    Pozdrawiam!

    0 6
  • #2 10 Cze 2005 00:05
    gregor7pl
    Poziom 14  

    Jest tak,po nacisnieciu klawisza klawiatura wysyla sygnal do kompa co zostalo nacisniete, potem wysyla ze zostal kalwisz puszczony. Zwykle obsluge klawiatury zostawia sie BIOSowi lub sytemowi, dzieki czemu mamy np polskie literki, duze male literki itd. Takie podejscie jest latwe i wygodne...ale w przypadkach niektorych gier nie wystarczajace. Nalezy przechwycic te komunikaty od klawiatury i "recznie" pamietac ktore klawisze sa wcisniete w danym momencie i sprawdzac co chwila czy nie wystepuja "odpowiednie" kombinacje - tak jest w wielu grach "walki", gdzie odpowiednia kombinacja 5 klawiszy to odpowiedni cios. To co nalezy zrobic to nawet nie buforowanie, ale tablica kodow klawiszy z ich stanem - wcisniety - wycisniety. Jesli interesujace sa wybrane tylko klaiwsze, nie trzeba monitorowac wszytkiego i sprawa jest jeszcze prostrza. Zadanie programistycznie bardzo proste. Sam pisalem kilka takich programikow. No problem.

    Nic nie piszesz o jaki system operacyjnym? Sprawe rozwiazuje sie nieco inaczej w DOSie a inaczej w Windowsach.

    Nic nie wiadomo tez o jezyku programowania jaki zamierzasz uzyc? Assembler, Builder, czy Delphi (tu widzialem gotowy komponent do takich rzeczy)?

    Mysle, ze bez tych szczegolow ja, ani chyba nikt inny, nie bedzie w stanie Ci pomoc.

    PS
    Drobna uwaga - nie jest mozliwe nacisniete kilku klawiszy w jednym momencie.

    0
  • #3 10 Cze 2005 01:02
    tzok
    Moderator Samochody

    Można nacisnąć kilka klawiszy na raz ale bardzo zależy od konstrukcji samej klawiatury (połączeń matrycy klawiszy), miałem taką, w której nie dało się wcisnąć Shift+Strzałka w górę+Spacja (...co to oznacza w Quake nie muszę wyjaśniać).

    0
  • #4 10 Cze 2005 01:41
    gregor7pl
    Poziom 14  

    Moja uwaga polegala na tym, ze nawet nie wiem jak bysmy sie starali, pomiedzy nacisnieciem klawiszy zawsze bedzie pewna luka czasowa, nawet jesli wynosi ona miksosekundy lub nawet mniej nie mozna o tym zapominac.
    Zreszta nic nie dzieje sie dokladnie "w tym samym czasie", zawsze jest jakas roznica czasowa, ale ta chyba rozwazania juz za bardzo filozoficzne

    Klawiatury i gry radza sobie w opisany przeze mnie sposob.

    Mysle ze tak czy inaczej nasz kolega nadal nie jest usatysfakcjonowany....

    1
  • #5 10 Cze 2005 07:33
    Cieplox
    Poziom 9  

    Mam Windowsa XP.

    Nie zamierzam używać języka programowaniam, ponieważ nie zamierzam także tworzyć czegoś takiego. Może sprecyzuje swoją wypowiedź:
    Chodzi mi konkretnie o program, dzięki, któremu będę mogł naciskać "jednocześnie"(niech już zostanie to jednocześnie, chociaż i tak nie jest to pojęcie zgodne z prawami fizyki :D) wiele klawiszy na raz. Np.
    jak naciskam Spacja+Strzałka w góre+Strzałka w lewo... to wtedy komp wydaje dźwięk i klawa sie tnie. Czy mógłby ktoś mi poradzić... Nawet pytałem się mojego gościa od Podstaw Techniki, lecz ten też nie wiedział...

    0
  • #6 10 Cze 2005 11:13
    gregor7pl
    Poziom 14  

    Teraz jasne....

    Jest cale stadko programow, ktore tu moga pomoc. Nie jestem pewnien, ale prawdopodobnie juednak nie wszystkie kombinacje klawiszy jednak bede obslugiwane, ale to chyba kwestia programu.

    Na poczatek mozna pobawic sie rejestratorem makr, nie wiem czy cos takiego jest, ale z tego co pamietam powinno byc w systemie standardowo. Bylo na 100% w Win3.11 :-) Po odpowiedniej czynnosci wywolywaly byla odpowiednia czynnosc.

    Oprocz tego jest duzo freeware'ui i shareware'u ktore pelni funkcje takiego rejestratora. Polecam stronke www.tucows.com

    Poza tym sa programy zarzadzajace klawiatura, bardzo zaawanoswane, ktore na przyklad potrafia spowodowac, ze po nacisnieciu klawiasza "C" Pojawaic sie bedzie dowolny inny znak, a nawet ciag znakow. Kilka linkow i nazw:
    http://www.pitrinec.com/pkindex.htm
    http://www.tucows.com/preview/331149
    http://www.tucows.com/preview/331149

    Najciekawsze sa programy z tej ostatniej wymienionej przeze mnie kategorii, ale wszystkie jakie znam nie sa darmowe.

    1
  • #7 10 Cze 2005 11:23
    tzok
    Moderator Samochody

    Twój problem wynika z konstrukcji klawiatury i ma przyczynę sprzętową a nie programową. Na klawiaturze można wcisnąć na raz dwa dowolne klawisze ale już trzy nie koniecznie - niektóre kombinacje trzech klawiszy można wcisnąć a innych nie można, zależy jak klawisze są połączone między sobą i kontrolerem klawiatury.
    Moja rada jest więc taka - zmień skróty klawiszowe w grze (jak się domyślam) albo zmień klawiaturę (grając na ThinkPadzie w Quake musiałem wybrać to pierwsze rozwiązanie).

    0