abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 18:33 | IT novinky

    Na GOG.com běží Autumn Sale. Při té příležitosti je zdarma hororová počítačová hra STASIS (ProtonDB: Platinum).

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Komunita

    Ubuntu 25.10 má nově balíčky sestavené také pro úroveň mikroarchitektury x86-64-v3 (amd64v3).

    Ladislav Hagara | Komentářů: 4
    dnes 01:22 | Nová verze

    Byla vydána verze 1.91.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | IT novinky

    Ministerstvo průmyslu a obchodu vyhlásilo druhou veřejnou soutěž v programu TWIST, který podporuje výzkum, vývoj a využití umělé inteligence v podnikání. Firmy mohou získat až 30 milionů korun na jeden projekt zaměřený na nové produkty či inovaci podnikových procesů. Návrhy projektů lze podávat od 31. října do 17. prosince 2025. Celková alokace výzvy činí 800 milionů korun.

    Ladislav Hagara | Komentářů: 4
    včera 23:44 | Komunita

    Google v srpnu oznámil, že na „certifikovaných“ zařízeních s Androidem omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Iniciativa Keep Android Open se to snaží zvrátit. Podepsat lze otevřený dopis adresovaný Googlu nebo petici na Change.org.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Nová verze

    Byla vydána nová verze 18 integrovaného vývojového prostředí (IDE) Qt Creator. S podporou Development Containers. Podrobný přehled novinek v changelogu.

    Ladislav Hagara | Komentářů: 1
    včera 12:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 2.0. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 1
    včera 02:55 | Nová verze

    Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | IT novinky Ladislav Hagara | Komentářů: 0
    29.10. 17:00 | Upozornění

    Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].

    Ladislav Hagara | Komentářů: 12
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (19%)
     (19%)
     (22%)
     (17%)
     (21%)
     (17%)
     (18%)
    Celkem 290 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    Dotaz: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)

    31.3.2022 12:07 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Přečteno: 453×
    Představte si HW zařízení (ovládací panel) komunikující skrze USB, které má na sobe kromě jiného tlačítka s funkcí PgUp a PgDn, ale pouze u vyšší verze panelu (násobně dražší varianty) i tlačítko PgAdd. U lacinějšího zařízení je nutné pro "přidání stránky" přesunout ruce z panelu na klávesnici/myš a provést úkon "přidání stránky". Je technicky proveditelné zachytávat datovou komunikaci přes USB ze zařízení a při následném výskytu zpráv odpovídajícím PgUp a PgDn, dejme tomu s prodlevou menší než 1 sec, nasimulovat aplikaci zmačknutí klávesové zkratky pro přidání stránky např. "Alt-P"?

    Samozřejmě vše za předpokladu, že komunikace mezi zařízením a SW nebude šifrována (čímž si popravdě nejsem vůbec jist). Pokud by komunikace byla v otevřené formě lze to chápat tak, že by šlo v kontextu našeho právního řádu o legální postup?

    Řešení dotazu:


    Odpovědi

    Jendа avatar 31.3.2022 13:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Ano, je to možné. Nepochopil jsem ale z popisu co je kam zapojené. Zachytávat USB komunikaci s počítačem lze pomocí usbmon a pak to je vidět ve Wiresharku. Emulace klávesnice na počítači se dělá programem xdotool. Pokud jde o klávesnici fyzicky připojenou k zařízení, tak potřebuješ emulátor/proxy HID. To jsem stavěl s AtMega32U4 (existující deska např. Arduino Leonardo a nějaké menší Arduino Micro Pro nebo tak nějak), ale jde použít třeba i Teensy deska, Bluepill deska (ta je levné, teda nevím jak teď s nedostatkem čipů, a má výkonný HW) nebo některá Raspberry Pi která podporují USB OTG.
    31.3.2022 14:49 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Diky.

    Zařízení (panel) je přes USB připojen k PC, takže by se komunikace zachytávala v PC pro jeho konkretní USB_ID a SW emulace v pripade zjisteneho urciteho sledu udalosti(zprav) pomoci xdotool emulovala stisk (predpokladam, ze by se ten realizoval v aplikaci s aktivním focusem). Např. xdotool key --repeat 1 --delay 500 Alt-P (s urcitym zpozdenim, aby se stihly v cilové aplikaci pred tim realizovat emulacni stisky klaves na panelu).
    31.3.2022 15:50 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Pomoci wiresharku/usbmod se mi podarilo zachytavat stisky ext. USB klavesnice. Vypada to, ze pozice 0x40 byte v packetu obsahuje USB scan code ridicich klaves (LCTRL/LSHIFT..), na pozici 0x43 je USB scan code beznych klaves. Mam jiny panel od stejneho vyrobce, zkusim overit nakolik ten ma otevrenou komunikaci.
    31.3.2022 14:24 j
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Rek bych, ze to co chces, se normalne zove makro, nektery kousky HW (klavesnice/mysi/...) to umej nativne, u jinych se to dela SW cestou, a pocitam ze najdes hromadu kousku SW ktery to udelaj. Princip je primitivni, proste to na nejakou sekvenci/kombinaci klaves vyvola jinou (typicky slozitejsi/delsi) kombinaci, kterou to posle systemu.

    A jako bonus, kdyz ten svuj HW rozeberes, tak je dost pravdepodobny, ze tam chybi jen to tlackatko ktery hodlas nejak simulovat, takze kdyz si ho tam dobastlis, muzes to mit v HW provedeni. Jednoduse se totiz v 99% pripadu nevyplati delat vice variant tehoz.

    ---

    Dete s tim guuglem dopice!
    31.3.2022 14:56 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    To zarizeni, o kterem je rec neni s velkou pravdepodobnosti HID (Human Interface Device) tj. nevysílá stisky kláves do OS (je to proprietární HW plně obsluhovaný aplikaci). Kromě tlačítek má i analogové ovladače (potenciometry, trackbally, atd).
    31.3.2022 16:19 X
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    To proste nemuzes napsat co to je zelezo? To je fakt problem? Tohle tajnustkareni nicemu nepomuze.
    31.3.2022 16:51 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    To asi mohu, Davinci Resolve Micro Panel. https://www.blackmagicdesign.com/products/davinciresolve/panels
    31.3.2022 17:36 j
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Takze to v systemu uvidis jako hromadu keycodes + nejaky ty osy a hodnoty, uplne stejne jako libovolnej joystick.

    ---

    Dete s tim guuglem dopice!

    31.3.2022 17:46 X
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Mezi HW a SW muze byt nejaka proprietarni komunikace, to s zatim nevi, ale ten SW bezi i na linuxu. Pujde to minimalne zjistit.
    31.3.2022 19:56 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Takže jsem ověřil, že aplikace xdotoolem emulované keystroke přijímá a provádí.

    Možná jsem to celé překombinoval a řešením by byla malá ext. USB klávesnice s pár tlačítky s nadefinovaným výstupem pro chybějící operace.

    Pozn. U DaVinci Resolve Speed Editoru se zařízení tváří jako HID a na pozici 0x41 packetu komunikace to vypadá na "scancode" (při opakovaném zmačknutí stejné klávesy stejná hodnota). Vypadá to, že mezi panelem a PC probíha permanentní synchronní komunikace ~100Hz, v případě pohybu JogDialu je tento vzorkován cca 60Hz (60 odečtených hodnot za sekundu).
    31.3.2022 23:08 X
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Takže jsem ověřil, že aplikace xdotoolem emulované keystroke přijímá a provádí.
    Pokud opravdu lze takto jednoduse ovlivnit chovani aplikace je super jednoduche reseni.
    31.3.2022 23:42 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Někteří nedostatek kláves na DR Micro Panelu (proti Mini Panelu) údajně řeší využitím Elgato Stream Decku XL s nadefinovanými klávesami. Color grading je typicky o nízkém okolním osvětlení, takže podsvícenost kláves je prakticky nutností (to by uživatelsky definované LCD klávesy se světelně decetními ikonami/popisy měly asi splnit také).
    Jendа avatar 31.3.2022 23:39 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    No super, takže si teď pustíš
    shark -l -i usbmon1 -Y "usb.endpoint_address == 0x86" -Tfields -e usb.capdata
    a jakmile to vypíše dvě ta zmáčknutí co chceš v jedné sekundě, tak spustíš xdotool a ten zmáčkne klávesu a hotovo, ne?
    1.4.2022 00:16 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Díky, ještě jsem si tam přidal timestamp pro zjištění časové následnosti.

    sudo tshark -l -i usbmon3 -Y "usb.endpoint_address == 0x81" -t ad -Tfields -e frame.time -e usb.capdata
    
    Jde o záznam dvou zmačknutí klávesy Cam1 a dvě zmačknutí klávesy Cam2. Ty 04:00:00:00:00 přestavují uvolnění kláves
    
    
    Apr  1, 2022 00:05:57.207084000 CEST	04:33:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:57.207092000 CEST	
    Apr  1, 2022 00:05:57.359085000 CEST	04:00:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:57.359090000 CEST	
    Apr  1, 2022 00:05:57.591088000 CEST	04:33:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:57.591093000 CEST	
    Apr  1, 2022 00:05:57.719092000 CEST	04:00:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:57.719097000 CEST	
    Apr  1, 2022 00:05:59.127116000 CEST	04:34:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:59.127124000 CEST	
    Apr  1, 2022 00:05:59.247117000 CEST	04:00:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:59.247123000 CEST	
    Apr  1, 2022 00:05:59.399122000 CEST	04:34:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:59.399128000 CEST	
    Apr  1, 2022 00:05:59.495122000 CEST	04:00:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:05:59.495128000 CEST	
    
    Pozn. Pokud je zmačknuto více kláves současně jsou zařazeny v pořadí zmačknutí v datech.
    
    Apr  1, 2022 00:10:29.155835000 CEST	04:33:00:34:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:10:29.155843000 CEST	
    Apr  1, 2022 00:10:31.619876000 CEST	04:34:00:00:00:00:00:00:00:00:00:00:00
    Apr  1, 2022 00:10:31.619884000 CEST	
    
    Řešení 1× (PetebLazar (tazatel))
    1.4.2022 20:45 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Tak to vypadá, že to asi může fungovat (ověřeno pouze na Speed Editoru). Po zmačknutí kláves Cam1 a Cam2 v intervalu kratším než 500ms se přidá další Serial_Node pro korekce. Zůstává otázkou zda Mini Panel se svojí přecijen rozšířenou funkcionalitou má komunikaci v podobném duchu. https://www.youtube.com/shorts/EiPpc-x-Z4k
    2.4.2022 13:08 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Oprava: Mělo být "Micro Panel", Mini Panel "tlačítkovou nouzí" trpí až srovnáním s Advanced Panelem. ;-)
    3.4.2022 20:08 PetebLazar | skóre: 35 | blog: l_eonardovo_odhodlani
    Rozbalit Rozbalit vše Re: Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Mini a Micro panel disponují třemi trackbally (Advanced Panel čtyřmi), samotný UI při korekcích nabízí v rámci HDR obsahu Dynamicky rozsah rozdělen na šest intervalů (Black, Dark, Shadow, Light, Highlight a Specular) přičemž vždy pouze tři následující intervaly jsou patrně obsluhovány trackbally panelů. Údajně klávesové zkratka pro přepnutí neexistuje (nenašel jsem ji) a ze samotného panelu to nejde. V UI jsou přitom ikonky s nimiž lze aktivní rozsahy posunem vybírat. Vzhledem ke značně rigidnímu UI DavinciResolve (s velikostí a umístěním vetšiny sekcí UI nelze hýbat) nám může pomoci xdotool mousemove 4556 1718 click 1 (hlavní panel Resolve je na prostředním UHD monitoru proto tak vysoká X-souřadnice).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.