dálková ovládání

Create issue
Issue #109 new
Karel Hovorka repo owner created an issue

skvělá appka must-have aplikace pro všechny dystextiky a dysakordiky jako jsem já :-)... tip na vylepšení - spouštění posunu písničky dálkově BT tlačitkem např. od selfietyče (z tlačítka se pak může vyrobit třeba pedál :-) )

Comments (26)

  1. Pavdi07

    Dobrý den, bylo by možné přidat i klasické klávesové zkratky? Tedy na připojené klávesnici zmáčknu ctrl+p (např) a spustí se posun. Osobně bych uvítal také zkratku na posun o jeden řádek dolů a nahoru. Mám v tuto chvíli nachystaný prototyp pedálu, který pomocí arduino nano simuluje stisk tlačítek klávesnice resp. myši, ale nedaří se mi dosáhnout rozumně plynulého pohybu, tak jako to máte pěkně vy, po stisku ikonky play. Mám aktuálně dvě tlačítka ovládané nohou, kdy jedno udělá skok v textu dolů a druhé zpět. Ale není to úplně ono. Děkuji

  2. Karel Hovorka reporter

    Zdravím. Není problém, i když nevím jak jednoduchý a přesně pro mě bude posun o 1 řádek. Jak přesně to máte zapojené? Jak se posílá signál do telefonu? Přes adb předpokládám? Taky doma pár arduin mám.

    Takovou věc rád přidám, ale chtěl bych, aby to mělo logiku a nějakou pěknou specifickaci - srozumitelnou a použitelnou i kýmkoliv dalším. Bylo by super to pak zdokumentovat (jak api a ovládacích kódů/znaků zpěvníku, tak i připadně i prototyp takového ovladače).

  3. Pavdi07

    Dobrý den, zkusím to popsat, ale moc se v tom nevyznám, tak si to případně postupně upřesníme.

    Mám arduino nano které již v sobě má převodník, takže samo o sobě může emulovat klávesnici a myš. Udělal jsem dle návodu na internetu jednoduchý obvod se dvěma tlačítky a arduino naprogramoval, aby při stisku tlačítka poslalo příkaz mouse.move

    Obvod i postup je přímo v examples arduaina a také zde: Jen jsem odebral nepotřebná tlačítka.

    Takovýto pedál se dvěma tlačítky připojím klasicky přes micro usb k tabletu a on si myslí, že jsem připojil myš a při každém sešlápnutí tlačítka posune stránku nahoru nebo dolů. Celé je to hodně jednoduché a bohužel to má mouchy. Kurzor myšky zaclání text, takže jsem přidal ještě příkaz, aby se myška postupně odsunula na kraj, ale není to ono. Druhý problém je, že celý text musím posouvat skokově (nemůžu ovlivnit rychlost, jen do určité míry vzdálenost).

    Rád bych to nahradil emulací klávesnice místo myši, kdy vy byste umožnil používat klasické klávesové zkratky (buď napevno, nebo uživatelsky editovatelné) a já bych místo mouse.move() použil Keyboard.write() ke spuštění posunu, případně další funkcím.

    Co se týká toho posunu o jeden řádek, není třeba (a možná ani vhodné), aby to byl přesně jeden řádek, spíš mi šlo o možnost nejen pohyb spustit, ale také vrátit, když omylem přejedu. Další zkratky by mohli např. být zrychlení nebo zpomalení scrollu. Pak už by si každý mohl sám vybrat kolik tlačítek chce a přiřadit jim patřičné zkratky. Určitě byste jich dokázal vymyslet použitelných hodně.

    Snad jsem to dokázal popsat. Úplně jednoduše stačí, abyste si připojil k tabletu klávesnici a upravil program, aby na ni reagoval. Arduino pak už jen předstírá, že je klávesnice. Myslím, že bych pak dokázal dát dohromady návod, jak ovladač sestrojit, aby i další uživatelé byli schopni si takový ovladač udělat. Přikládám fotku prototypupedal[1].jpg

  4. Karel Hovorka reporter

    Rozumím, tak to je super. V zásadě si můžu prostě zapojit přes USB OTG třeba jen klávesnici a přes tu to testovat. Arduino je pak už jen vlastně bonus klávesnicí s několika extra velkými tlačítky na šlapání. Hned jsem si zašel koupit OTG redukci a večer si zkusim pohrát s klávesnicí.

    Na myš bych se vykašlal. To nemá žádnej přínos a jen by to byla hromada problémů s rozlišením, dpi atd.

    A specifikoval bych to takto:

    • Šipky nahoru/dolů budou posouvat o kus text (třeba definovat jako 1s posouvání, ať je to závislé na rychlosti scrollování pro song).
    • Šipky doleva/doprava budou přepínat songy (podobně jako teď přepínají swipe gesta).
    • Mezerník nastartuje/stopne autoscroll.
    • Home/end na první/poslední song playlistu.
    • Zrychlist/zpomalit autoscroll ?

    Pak by mohly ještě stát za to:

    • Náhodný song
    • Zvětšit/změnšit písmo
    • +/- transponuje o půltón nahoru/dolu

    Klasika windows zkratky, který ale těžko budou mít pro pedál využití:

    • Ctrl + S uloží song.
    • Ctrl + shift + S uloží song transponovaně.
    • Ctrl + P tisk
    • Delete smaže song

    Pak poznámky trochu mimo, ale související:

    Ovládání přes selfie stick audio vstupem se dělá pomocí 4-pinovýho jacku a spustí signál tlačítko hlasitosti nahoru (VOLUME_UP), které odposlouchávám (+ odposlouchávám VOLUME_DOWN). V nastavení se tím už dá spouštět autoscroll, měnit velikosti písma, rychlost autoscrollu a přepínat songy. 4-pinový jack se dá koupit a stačí pak jen najít, které kontakty se musí spustit, aby se poslal ten signál VOLUME_UP, bylo by to mnohem jednodušší a levnější (prostě jen ten 4-pin jack + kabel). Nevýhodou je, že je to prostě jen 1 tlačítko.

    S předchozím odstavcem souvisí i to, že VOLUME_UP/DOWN už jsou ve zpěvníku nastavené a konfigurovatelné. Nevím ale, jestli se tyto signály dají poslat i klávesnicí a mají i odpovídající keycode. Někde jsem četl, že jsou to prostě "multimedia up/down", ale to je nic neříkající - chce to znát číselný kód, který poslat anroidu do toho Keyboard.write. Tady je to kód v androidu, ale to je jiná stupnice než stupnice keycodes v klávesnici: https://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_VOLUME_DOWN

  5. Pavdi07

    Oprava: V úvodním příspěvku jsem chybně uvedl, že se jedná o arduino nano. Ve skutečnosti je to arduino Micro.

    Nano nemá převodník, takže neumí jednoduše emulovat klávesnici. Uvádím na pravou míru, abych někoho nepletl.

  6. Karel Hovorka reporter

    Tak jsem si s tím dnes konečně pohrál i trochu hardwarově. Používat klasické šipky, není úplně šťastné, protože ty už mají vlastní funkcionalitu - přechází se mezi akordy a na ty se pak dá třeba enterem přejít. Naopak page down/up už slouží k podobnému scrollování, takže ty se dají použít dobře. V 1.15.1 to poupravím, aby page down/up byly kontrolované a konfigurovatelné pomocí rychlosti scrollování.

  7. vita brno

    Ad Arduino - jen tip od praktika: kdybych potřeboval ovládací šlapák, asi bych nejdřív zkusil vykuchat klávesnici, použít její elektroniku a napojit si svoje spínače na požadovaná tlačítka, než abych se s tím patlal v Arduinu (přestože si s ním hraju rád :)

  8. Pavdi07

    Můžu poprosit trošku o rozvedení předešlého příspěvku? Zkoušel jsem kdysi i variantu s vykuchanou klávesnicí tak můžu zhruba porovnat. Ale nevím moc co si představit pod "patlat" se s arduinem. Přišlo mi to s arduinem poměrně snadné a funkční a to i přesto, že mu rozumím jen minimálně. Můžete třeba napsat výhody a nevýhody jednotlivých přístupů dle Vás. Mohlo by to někomu pomoci se rozhodnout pro správný postup. Děkuji

  9. vita brno

    Pavdi07: beru to tak, že rozšroubovat klávesnici a připájet si drátky s vlastními spínači místo několika kláves zvládne snad každý s motivací. Už jsem dlouho žádnou klávesnici nerozebral a obávám se, že dnešní klávesnice budou mít jeden čip uprostřed, takže bude nutné zachovat celý plošňák a tím i velikost klávesnice (což ale pro 4 a více tlačítek stejně bude +- nutné) Arduino je mnohem mnohem krásnější a pro elektrokutila i zábavnjší řešení (zvlášť pokud se izolačková mumie schová do malé krabičky ;) , ale to už člověk musí nejen pájet, ale i programovat a odlaďovat. A dlouhodobá spolehlivost arduina bude výrazně menší, než spolehlivost klávesnice.

  10. Karel Hovorka reporter

    Ještě bych dodal, že pro "klávesnicové" řešení není třeba externí napájení.

    Na arduino řešení se dají dělat i další vychytávky - že pedál udělá sekvenci tlačítek atd. Nebo že jedno tlačítko přepíná co dělají další tlačítka (já bych si třeba představoval 2 pedály, které dělají nahoru/dolu, doleva/doprava a několik kombinací a pak třetí, který by mezi tím přepínával (teoreticky by se to tak dalo nadrátovat i s klávesnicí, ale to by asi bylo celkem už pracné správně pozapojovat).

  11. Pavdi07

    Hovorka: Pro jistotu upřesním, já to arduino napájím přímo z tabletu, tedy stejně jako klávesnici připojím pedál k tabletu a to je vše. Nemá žádný jiný zdroj napájení. Vita brno: Termín "izolačková mumie" je super a výstižný název :-). Vlastně ten prototyp překonal mé očekávání (i vizuální), ale netrpělivě očekávám, až mi dorazí nové spínače, abych mohl udělat krabičkovou verzi. Pro zajímavost upřesním, že jsem nic nepájel; vnitřek je breadboard, do toho nastrkané drátky a pohromadě to drží ta izolačka :-D Myslím, že bych se složitosti nebál, protože když jsem to zvládl já, tak už to musí s patřičnou motivací zvládnout skoro každý (mám nulové zkušenosti jak z arduinem, tak s elektrotechnikou)

  12. South

    Zdravím vespolek. Oživil jsem si dálkové ovládání Zpěvníku+ přes bluetooth dle tady tohoto návodu http://www.barbatricks.com/en/android-en/remap-ab-shutter-3-selfie-remote/ Mám android 7.0, z Číny AB Shutter3 a apku External Keyboard Helper Demo. Namapoval jsem si obě tlačítka, kódy 28 a 115, na PageDown a PageUp. Text songu reaguje, ale ne, že se posune o stránku, ale pouze scrolluje o "nějaký" řádek, ale není to ani řádek songu. (např. ve wordu mi to opravdu skočí o stránku) Nedalo by se doprogramovat do Globálního nastavení, resp. pro konkrétní song, kolik řádků je stránka? Tj. počet řádků o kolik to najednou při PageDown/Up poskočí. Tím by se to mohlo vyřešit.

  13. Karel Hovorka reporter

    To zní jako super vychytávka. Momentálně se poskočení reguluje podle rychlosti autoscrollu, což asi není nejvhodnější, takže doporučuju zkusit to. Je ale fakt, že logičtější by bylo rovnou posouvat o celou stranu.

  14. South

    Otestoval jsem možnost Autoscroll přes PageDown/Up, ale výsledek není použitelný. Vyzkoušeno na HW Samsung S4, Note 8 a Tab A 10''. U všech nastavena velikost písma 15, rychlost scroll 80 (tj. max.). Na S4 se vešlo 35 řádek textu, na Note 8 42 řádek a na Tab A 69 řádek. U všech při PageDown/Up poskočí jen o 5 řádků textu. Při scroll 40 pak 2,5 řádku atd. Pro skok o celou stránku bych tedy potřeboval nastavit Scroll u S4 na cca 560 řádků, Note 8 na 672 a u Tab A na 1104. Nešlo by tedy do Formuláře scrollu přidat pole, kde bych si kromě přednastavených rychlostí mohl vložit tyto svoje vysoké hodnoty?

  15. danielborkovec

    Zdravím vás, kutilové :-) rád bych se přidal: Pokud chce někdo rozebírat klávesnice, není velikostí ani cenou špatná numerická klávesnice. Samo např. u této https://www.alza.cz/a4tech-tk-5-d327600.htm ty dráty moc dlouho nevydrží, ale lze si připájet samo kvalitnější usb kabel. Nevýhoda těchto klávesnic je, že se při připnutí na napájení zapnou jako numerická klávesnice a musí se tlačítkem "Num" přepnout. Moje má alespoň kontrolku abych věděl, že je správně přenutá Dobré zvlášť když mám špatné kontakty u usb konnektoru u OTG redukce :-( P1160709_2.JPG

  16. danielborkovec

    Jistě se dají klávesnice různě přemapovat, nicméně bych se přimlouval - i když je to pracnější pro implementaci - pro uživatelské natavení klávesových zkratek. Zároveň jsem testoval současné nastavení a musím přiznat, že mi zatím nevyhovuje žádné - šipky skáčou po akordech, PgUp, PgDn posouvá, nicméně jak to jemně poposkakuje (Samsung S4) tak to při scrollovaní je méně čitelné. Tedy osobně vidím scrollování jako super funkce když to jede automaticky, ale pro pedál bych přivítal jednoduše skákání po obrazovkách.

  17. danielborkovec

    ARDUINO: abych ale přiznal barvu, jsem příznivcem arduina a dělám na něm i složitější věci. Chci si zkonstruovat pedál (nejen pro tuto apku, ale i jiné funkce v PC) ale mířím k Bluetooth připojení. Po dvou týdnech mi dorazil modul HID RN-42, nicméně mám problém se dostat do cmd modulu https://stackoverflow.com/questions/51296011/how-to-enter-command-mode-on-bluetooth-rn-42-module-throw-arduino tak snad to nějak vyřeším. Každopádně ať přes bluetooth či přes USB je právě na Arduinu super flexibilita - např. stisknu pedál jednou, posune se to dopředu, stisknu ho dvakrát, couvne to - samo kombinací jako třikrát stisknout, či jednou dlouze - je neomezeně... a připojit na arduino dva spínače a nahrát tam přes USB program "copy paste" zvládne opravdu ledaskdo. Nicméně každý ať jde svou cestou.

  18. Pavdi07

    Mně tedy vyhovuje spíš to průběžné scrolovaní, jak je teď. V klidu sleduji kde jsem v textu, mezi slokami sešlápnu pedál a posunu se. Kdyby to poskočilo o celou stránku, tak se jednoduše ztratím.

  19. danielborkovec

    kdo chce předělávat klávesnice zde jedna bluetooth - https://www.czc.cz/genius-mini-luxepad-cz-sk/126651/produkt tato dříve stála 300,- nicméně je to opět hraní si s miniaturními kontakty a v tomto případě se dostat na funkci šipek musí ještě přidat Fn klávesa - jestli by mohla být stisknuta permanentně nevím. Nicméně opět - kdyby byly zkratky definovatelné uživatelem, byl by to hned menší oříšek.

  20. danielborkovec

    Nejlevnější a nejjednodušíí by samo bylo to přes handsfree 4 polový jack - jen by se opět museli předělat klávesové zkratky, které mají teď jiné užití. Navíc by bylo vhodné implementovat funkci právě třeba dvojitého stisknutí - či více kombinací ;-) zapojení se 4-polu se dá vygooglit (jen bohužel některé firmy si to zapojují jinak - už jsem to zapomněl - ale to se týkalo tuším Applu - vyráběl jsem si s tímto konektorem vstup pro externí mikrofon na můj mobil.) Co ještě nevím, jestli by Android bral toto tlačítko jen v aktivní aplikaci, nebo by třeba telefon zvedl příchozí hovor a tak ;-)

  21. danielborkovec

    zde jsem našel zajímavou specifikaci handsfree se 4 tlačítky - to by bylo velmi zajímavé. Ale do programování androidu nedělám - nakolik by to šlo implementovat (některé funkce - zvláště související s hardwarovými tlačítky - i když to se jedná spíše o přemapování - vyžadují rootnuté zařízení) zde odkazy: https://source.android.com/devices/accessories/headset/plug-headset-spec a https://source.android.com/devices/accessories/headset/jack-headset-spec

  22. Ivan Fluder

    Měl bych návrh na vylepšení, že by se přes WiFi dal spustit posuv songu na tabletech spoluhráčů kteří ovladač nemají a mají tuto volbu povolenou (analogicky jako je to u výběru tlačítka hlasitosti). Moc by to pomohlo.

  23. Log in to comment