abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    včera 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 4
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    26.4. 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 9
    26.4. 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 44
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 14
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 3
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 874 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 33 | blog: l_eonardovo_odhodlani
    Rozšíření funkce existujícího zařízení (bez aktivního zásahu do jeho HW/SW)
    Přečteno: 428×
    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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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: 33 | 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.