Hirdetés
- Luck Dragon: Asszociációs játék. :)
- ldave: New Game Blitz - 2025
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- droidic: [Memory Leak] Az agy defragmentálása
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Kolondrum: Oneplus 13 vagy IQOO 13 vagy Oppo Find X8 PRO
- N€T0X|N: 4070 Super -> 5070ti
- Elektromos rásegítésű kerékpárok
- MasterDeeJay: Harc a DDR5 árak ellen
Új hozzászólás Aktív témák
-
Domonkos
addikt
Learning the DATAHAND SYSTEM Makes You a Winner!
A billentyuk allapotat beolvasni egyszeru:
static void
read_keyboard(void)
{
keys_down = 0;
for (uint8_t row = 0; row < N_ROWS; row++) {
const uint8_t b = read_row(row);
const uint64_t b64 = b;
const uint8_t offset = row * N_COLUMNS;
keys_down |= b64 << offset;
}
}Ennek a fuggvenynek a celja az az, hogy a
keys_downvaltozo erteket egy olyan allapotba hozza, ami a billentyuzet billentyuinek tenyleges allapotanak megfeleltetheto. A kesobb meghivott fuggvenyek ennek a valtozonak az erteke alapjan fognak mukodni.A billentyuk azok vagy lenyomva, vagy felengedve vannak - egyszerre a ket allapot egyikeben - szoval azok reprezentalasahoz egy-egy bit is elegendo.
Korabban kideritettuk, hogy a billentyuzet matrixa az 14x2-es mindket oldalon. - bar oldalankent csak 26 billentyuvel - Hogy ezt mind beolvassuk, vegig kell iteralnunk az osszes soron, es soronkent ket-ket billentyut (vagy 4-et, ha a ket felet egyszerre olvassuk) kell elraknunk a valtozoba.
Mivel egy sor beolvasasa onmagaban egy kulon lepesnek tekintheto, ezert azt kiszerveztem egy kulon fuggvenybe.
Szoval ha megelolegezzuk, hogy aread_row()fuggveny helyes erteket ad vissza, akkor nincs mas dolgunk, mint azt a billentyuzet poziciojanak megfelelo helyre "tolni" akeys_downvaltozoba.
A fenti kod pont ezt teszi.Magat a valtozot pedig definialhatjuk a megfelelo scope-ban mondjuk igy:
typedef uint64_t kb_state_t;
kb_state_t keys_down = 0;
#if ( N_KEYS > 64 )
#error "Too many keys on the keyboard"
#endifKenyelmes, mert nincs 64 billentyunel tobb billentyunk. Mondjuk kinek is kellhet annyi?

Új hozzászólás Aktív témák
- PC konfiguráció összeállítás igény szereint, csak új nem használt alkatrészekkel, garanciácal!
- Lenovo P1 GEN 5/16'WQUXGA 4K TOUCH/i7-12800H vPro/32GB DDR5/4TB SSD/RTX A4500 16GB GDDR6/GARANCIA!!
- Xbox Series X, kitisztítva+újrapasztázva, 6 hó teljeskörű gar., Bp-i üzletből eladó!
- Nintendo Switch OLED Mario Edition 20.5, 512GB MicroSD + Android + Atmosphere, 3 hó garanciával
- Eladó alaplap + processzor + memória + hűtő
- REFURBISHED és ÚJ - DELL Thunderbolt Dock WD22TB4 (210-BDTD)
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- Új, Aktiválatlan, iPhone Air (256 GB) (rendelhető)
- LG Gram 14 WUXGA IPS i7-1360P 5.0Ghz 12mag 32GB DDR5 1TB SSD Intel Iris XE 10óra Akku Win11 Garancia
- GYÖNYÖRŰ iPhone 13 Mini 128GB Midnight - 1 ÉV GARANCIA -Kártyafüggetlen, MS4195, 94% Akksi
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest


