Pereiti prie turinio

klaviaturos ir peles draiverio parasymas - uz kiek?


Rekomenduojami pranešimai

Sveiki,

reikia parasyti draiverius klaviaturai ir pelei, kad butu galima iterpti komandas klaviaturai ir pelei valdyti. panasiai kaip paleisti makro komandas ant virsaus jau veikianciai pelei ir klaviaturai.

manau darbai darosi su c++?

kiek galetu toks darbas kainuoti? ir ar yra norinciu toki darba apsiimti?

as pats nesu programuotojas, bet noriu padaryti projektuka kartu su draugu, jam testi darbus reikia tokiu draiveriu.

jei kam idomu, butu galima viska aptarti konkreciau.

dabar tik idomu kiek tokie darbai kainuotu, ir jei kaina patiktu, galim dirbti.

kontaktai tik asmeninese zinutese bus, kam idomu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai suprantu kam tu driver'iu? Macros kurti galima tiek su OS irankiais, pvz windows 10 turi 'irasomus' makros (padarai kazkoki veiksma (pele pajudini, kazkokia mygtuku kombinacija paspaudi) ir paskiri ta veiksma tam tikram mygtukui) https://www.microsoft.com/accessories/en-ww/support/how-to/keyboard/macros .

 

Jeigu reikia kazko tikslesnio, populiariausias irankis yra https://www.autohotkey.com/ bet cia jau reikia siek tiek programavimo pagrindu, jeigu kazka custom nori pasirasyti, bet daug sansu jeigu kazkas labiau bendro, tai atrasi kur nors online skripta.

 

Geriau pasakyk bent viena pavyzdi, koki veiksma (macro) reikia atlikti, bus lengviau padet

Redagavo Gruzlys
Nuoroda į pranešimą
Dalintis kituose puslapiuose

autohotkey ir pasios programos neveikia labai daug kur.

tarkim zaidimuose, remote control serveriuose ir t.t.

tokiose vietose kad siusti macro komandas i pele ar klaviatura reikia eiti per draiverius. taip yra tarkim macro programu kurios veikia tarkim zaidimuose ir visur kitur. bet jose nepadarysi sudetingu makro komandu. nes limituotas funkcionalumas. o ir salygu negalima pritaikyti daug.

paimkim paprasta pavyzdi.

tarkim zaidime, kris specialiai riboja peles ir klaviaturos valdyma ne is draiveriu, reikia padaryti makrosa. tarkim paspaudus mygtuka pradedam vykdyti makrosa, nuspaudus viduryje makro komandos kita mygtuka, makro komanda yra nenutraukiama bet modifikuojama ir eina toliau. o tarkim nuspaudus dar ir trecia mygtuka, kazkas dar nutinka, tarkim macro komanda pertraukiama bet kurioje vietoje, iterpiama kita makro komanda, ir vel tesiama buvusi komanda nuo tos vietos kur buvo nutraukta. o atleidus visus mygtukus visos macro komandos sustabdomos nesvarbu kokioje jos vykdymo stadijoje.

tai kaip tu tokius dalykus padarysi su autohotkey:)? tam reikia parasyti draiverius, kad galetum ant virsaus siunciamu komandu is peles ir klaviaturos uzdeti savo komandas.

programeris kuris daro baze, tinkamo pazydzio kuris veiktu nerado, todel paprase pasiklausineti ar yra kas toki draiveri parasytu, ir uz kiek. jei kam tikrai idomu, galim sesti jau su programuotoju ir tada tiksliai viska aptarti. bet pvz kokio tukstancio tikrai neketinam uz toki draiveri moketi, ir tada gal pats jis pasirasys geriau. zodziu, idomu uz kiek draiveri galima nupirkti. tada zinosim kaip elgtis toliau.

 

ir pasikartosiu, as ne programuotojas. bet aplinkose kuriose reikia vykdyti makro komandas, jokios paprastos makro komandu programos kurios tarkim duoda kursoriui pozicija, neveikia.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

autohotkey ir pasios programos neveikia labai daug kur.

tarkim zaidimuose, remote control serveriuose ir t.t.

tokiose vietose kad siusti macro komandas i pele ar klaviatura reikia eiti per draiverius. taip yra tarkim macro programu kurios veikia tarkim zaidimuose ir visur kitur. bet jose nepadarysi sudetingu makro komandu. nes limituotas funkcionalumas. o ir salygu negalima pritaikyti daug.

paimkim paprasta pavyzdi.

tarkim zaidime, kris specialiai riboja peles ir klaviaturos valdyma ne is draiveriu, reikia padaryti makrosa. tarkim paspaudus mygtuka pradedam vykdyti makrosa, nuspaudus viduryje makro komandos kita mygtuka, makro komanda yra nenutraukiama bet modifikuojama ir eina toliau. o tarkim nuspaudus dar ir trecia mygtuka, kazkas dar nutinka, tarkim macro komanda pertraukiama bet kurioje vietoje, iterpiama kita makro komanda, ir vel tesiama buvusi komanda nuo tos vietos kur buvo nutraukta. o atleidus visus mygtukus visos macro komandos sustabdomos nesvarbu kokioje jos vykdymo stadijoje.

tai kaip tu tokius dalykus padarysi su autohotkey:)? tam reikia parasyti draiverius, kad galetum ant virsaus siunciamu komandu is peles ir klaviaturos uzdeti savo komandas.

programeris kuris daro baze, tinkamo pazydzio kuris veiktu nerado, todel paprase pasiklausineti ar yra kas toki draiveri parasytu, ir uz kiek. jei kam tikrai idomu, galim sesti jau su programuotoju ir tada tiksliai viska aptarti. bet pvz kokio tukstancio tikrai neketinam uz toki draiveri moketi, ir tada gal pats jis pasirasys geriau. zodziu, idomu uz kiek draiveri galima nupirkti. tada zinosim kaip elgtis toliau.

 

ir pasikartosiu, as ne programuotojas. bet aplinkose kuriose reikia vykdyti makro komandas, jokios paprastos makro komandu programos kurios tarkim duoda kursoriui pozicija, neveikia.

 

 

Nezinau del zaidimu/peles ribojimu, bet ta dalis apie skriptu sustabdyma ir pns yra imanoma ir nieko ypac sudetingo naudojant AutoHotKey. Macros gali dalintis informacija (globalus kintamieji), yra komandos sustapbydti specifini/visus skriptus, gali sias komandas priskirti prie kito klaviso ir tuo metu gali atnaujinti globalius kintamuosius.

Daugelis macro programu kur veiksmai irasomi, tai sutinku, jog labai limituotos galimybes, bet kai macros yra programuojami (skriptinami), gali labai labai daug ka su jais nuveikti, apskritai jie duoda prieiga prie cmd komandu vykdymo ir rezultatu gavimo kas tiktais praplecia galimybes.

 

Driveriai, mano žiniom, rašomi su asembleriu. Jei būtų galima su C++, tai nebūtų toks sudėtingas darbas. :) O asemblerio programuotojams mokama labai daug, nes ir gerą specialistą rasti tikrai nelengva.

Windows C++/C (galbut ir assembly supportintas, bet oficialus docs yra naudojant C++) :

https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/writing-a-umdf-driver-based-on-a-template

Linux C/Assembly

https://www.apriorit.com/dev-blog/195-simple-driver-for-linux-os

Redagavo Gruzlys
Nuoroda į pranešimą
Dalintis kituose puslapiuose

taip yra tarkim macro programu kurios veikia tarkim zaidimuose ir visur kitur. bet jose nepadarysi sudetingu makro komandu. nes limituotas funkcionalumas. o ir salygu negalima pritaikyti daug.paimkim paprasta pavyzdi.tarkim zaidime, kris specialiai riboja peles ir klaviaturos valdyma ne is draiveriu, reikia padaryti makrosa.

 

Labai būtų įdomu žinoti koks žaidimas detourina kernel draiverių inputus, kad reikia tiesiai per draiverių funkciją spaudimus valdyti.

Neskaitant macro blokavimo, didžiausia apsauga įsivaizduoju galėtų būti hotkey blokavimas. Nemanau, kad yra bent vienas žaidimas, kuris galėtų global hook blokuoti.

Plius jei tikrai nori draiverio pirmiau gauk EV certifikatą (jis yra privalomas nuo windows 10, nebent yra atjungiamas UEFI SafeGuard).

 

Driveriai, mano žiniom, rašomi su asembleriu. Jei būtų galima su C++, tai nebūtų toks sudėtingas darbas. :) O asemblerio programuotojams mokama labai daug, nes ir gerą specialistą rasti tikrai nelengva.

 

Niekas draiverių niekada nerašytu su assembleriu. Viskas rašoma su C, assembleris naudojamas tik tada jei reikia būtinai iškviesti kažkokią instrukciją, kurią kitokiu atveju kompileris gali panaikinti.

Draiverių rašymas yra sudėtingas darbas, nes viena klaida = BSOD, dėl ko reikia iš naujo paleisti visą operacinę sistemą, standartinių funkcijų trūkumas, nes C kernel-mode biblioteka yra labai minimalistinė, ir prasta dokumentacija.

 

 

Windows C++/C (galbut ir assembly supportintas, bet oficialus docs yra naudojant C++) :https://docs.microsoft.com/en-us/windows-hardware/drivers/gettingstarted/writing-a-umdf-driver-based-on-a-templateLinux C/Assemblyhttps://www.apriorit.com/dev-blog/195-simple-driver-for-linux-os

 

Čia žiūri į user-mode draiverius. Čia iš esmės paprasta programa tik ją paleidžia windows scheduleris, tad tai gali būti parašyta su bet kokia kalba. Kernel mode driveriai rašomi su C, nes MS ir Linux neduoda jokios C++ kernel-mode bibliotekos (tad geriausią ką gali šiuo metu gauti tai C + RAII).

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai greičiausiai ten žmonės praeityje darė kokį projektą kuriame rašė tuos klavos driverius ir jie panaudos ta projektą pritaikydami tavo platformai, kas reikalauja mažiau resursų nei nuo 0 rašyti.

O Lietuvoje manau tik įterptinėms sistemoms kai kur driverius rašo.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...