Asembler - scancode i obsługa klawiatury

0

Czolem,

Mam tego typu problem: napisalem program, ktory przerabia zwykla klawiature AT na klawiature przylaczana przez lacze szeregowe RS-232. Zeby to bylo mozliwe na kablu umiescilem dodatkowy procesorek 8mio bitowy, ktory odczytuje z klawiatury kody klawiszy (scancode) i zamienia je na znaki ASCII. Wszystko dziala dobrze, procz klawiszy kursora (strzalek).

Normalnie odczytucwe kod klawisza, zamieniam na kod ASCII iwysylam do PCta po RS232. Ze strzalkami jest ten problem, ze one zdaje sie nie maja przypisanych kodow ASCII (a przynajmniej nie wyswiatla ich zaden terminal, nawet w trybie HEX).

Czy ktos wie moze co umieszcza sterownik klawiatury w buforze po nacisnieciu ktorej ze strzalek? Wydaje mi sie ze sa to dwa bajty, ale rozne kombinacje z wysylaniem kodow dwubajtowych po RS232, tak zeby kursor w Hyperterminalu przesunal sie niestety nie dzialaja.

1

W buforze klawiatury zawsze jest ScanCode*256+AsciiCode, dla strzałek i funkcyjnych AsciiCode to zero, dziesiętnie lewo 75, prawo 77, góra 72, dół 80.
Ale nie o to chyba chodzi. Poszukaj dokumentacji terminala i opisu kodów sterujących, zwykle Esc+coś tam, nie każdy terminal ma możliwość takiego sterowania kursorem, może np. oczekiwać kodu z nową pozycją kursora.

0
Xitami napisał(a):

W buforze klawiatury zawsze jest ScanCode*256+AsciiCode, dla strzałek i funkcyjnych AsciiCode to zero, dziesiętnie lewo 75, prawo 77, góra 72, dół 80.
Ale nie o to chyba chodzi. Poszukaj dokumentacji terminala i opisu kodów sterujących, zwykle Esc+coś tam, nie każdy terminal ma możliwość takiego sterowania kursorem, może np. oczekiwać kodu z nową pozycją kursora.

Odp.

Dziękuje! Właśnie sprawdziłem te wartości i działają! Chociaż nie jestem twórcą tego pytania, to i tak miałem ten problem, tylko że ja to potrzebuje do mojego systemu pisanego w assemblerze! Jeszcze raz Panu dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1