Nem.
Az AVR alapú PS2 kezelés esetén a bill _felé_ nem kommunikál. Azaz lem lehet a LEDeket ki/bekapcsolgatni rajta. Ezt most is a PC végzi, azaz amikor a billentyűzeten lenyomok egy CapsLock-ot, akkor ennek lenyomási és elengedési kódja megy kia PC felé, és lenyomáskor a PC visszaküld egy kódot a billentyűzetnek, hogy a LEDet gyújtsa ki v. kapcsolja le.
Próbáld ki, 2 bill kell hozzá: CL bekapcsol, bill lehúz, és msáikat raksz fel. Gépeléskor a nagybetűk jelennek meg a PC-n, holott a LED nem világít....
Itt csak a Bill ad ki leütési/felengedési kódot az AVR felé.
A GetATKbd parancssorokkal lehet betűt venni, ha van KeyData table (ld súgó). Illetve van a 8.3 verziótól a GetATkbdRAW, ahol az _ömleszettt_ parancskódok jönnek...
Kód: Egész kijelölése
$crystal = 14745600 'Sebesseg
$regfile = "M48def.dat" 'Chip
$baud = 9600
'PS2Keyb
Config Keyboard = Pind.6 , Data = Pind.2 , Keydata = Keydata
Dim B As String * 1
Do
B = Getatkbd()
If B > 0 Then
Print "Code:" ; B ; " Character:" ; Chr(b)
End If
Loop
Keydata:
'normal keys lower case
'NO shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 200 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
Ez soros porton visszaküldi a lenyomott billenytűt...