Új hozzászólás Aktív témák

  • Domonkos

    addikt

    válasz Domonkos #67 üzenetére

    Ha egy kicsit jobban korulnezunk, akkor azert talalhatunk az interneten par egyeb, a mienknel egy kicsit jobban kifejlett alternativat is. Most talan az egyik legnepszerubb QMK neven fut, ami egy TMK fork, millionyi hozzaadott funkcioval.
    A terveim szerint a kovetkezo par napban egyesevel vegegmegyek az osszes feature-on es jol vegiggondolom es (kifejtem), hogy az egyes megoldasok hogy es mikent lehetnek hasznosak.

    Az otlet az osszes feature-nel nagyjabol ugyanaz. Talan az egyik legtermeszetesebb is.
    A firmware-uk - hasonloan a mienkhez - eloszor beszkenneli az osses billentyut. Ha nincs valtozas a billentyuk allapotaban (nem nyomtunk le ujat, es nem is engedtunk fel egy mar lenyomottat sem), akkor lenyegeben nem csinal semmit, hanem csak elorol kezdi a szkennelest. Ha van valtozas, akkor - egy esetleges debounce logika futtatasa utan - a billentyut a keymap-nek megfeleloen egy keycode-hoz rendelik. Itt erdemes megjegyezni, hogy ez a keycode nem (feltetlen) az a keycode, ami majd az USB-n kimegy, hanem csak egy "funkciohoz rendelt azonosito" (amit egy sima enum-mal is lehetne definialni) - ami egyebkent egy nagyon jo absztrakcio (de az ovukenel ezt egy kicsit meg tovabb is lehet tolni). Hogy epp melyik lesz az a keycode ami a leuteshez lesz rendelve (vagy funkcio amit a billentyuzet majd vegrehajt) az a keymap-tol es a billentyuzet egyeb allapotaitol is fugghet (a billentyuzet egyeb allapotat pedig a keycode feldolgozasanak mellekhatasai tudjak majd befolyasolni - ez nem eliras, tenyleg oda-vissza vannak egymasra hatassal).
    Szoval miutan megvan a keycode, az rovidesen feldolgozasra kerul. QMK eseteben ez epp ugy tortenik, hogy a TMK-s feldolgozas utan athivnak a quantum/quantum.c:process_record_quantum()-ba. Ez egy bool funkcio, es a felepitese nekem nagyon szimpatikus. Lenyegeben egy nagyon hosszu funkcio1 && funkcio2 && ... lanc amiben minden egyes funkcio eldontheti, hogy: csinal-e valamit a keycoddal, megvaltoztatja-e, vagy csak siman "lenyeli", rovidre zarva a tovabbi funkciok elereset. Az otlet tenyleg csodas, de a funkciok helyes sorrendjet eltalalni nagyon-nagyon nehez. Abban az esetben ha tobb olyan funkcio is van, ami ugyanazokra a keycode-okra figyel, akkor neha nem a felhasznalo altal remelt sorrendben reagalnak es nem vart eredmenyt produkaljak. Megcserelni oket elegge konnyu, de megbizonyosadni arrol, hogy a cserevel nem rontunk-e el valami mast ugyancsak nehez feladat.

    Szoval; mik is ezek a funkciok? :)

Új hozzászólás Aktív témák

Hirdetés