{"id":131,"date":"2005-12-03T12:34:54","date_gmt":"2005-12-03T12:34:54","guid":{"rendered":"https:\/\/143-42-55-146.ip.linodeusercontent.com\/?p=131"},"modified":"2005-12-03T12:34:54","modified_gmt":"2005-12-03T12:34:54","slug":"prezentace-ovladana-telefonem","status":"publish","type":"post","link":"https:\/\/nax.cz\/?p=131","title":{"rendered":"PREZENTACE OVL\u0102\u0081DAN\u0102\u0081 TELEFONEM"},"content":{"rendered":"<p>Na p\u0139\u0099edm\u00c4\u009bt Nov\u0102\u0104 m\u0102\u0160dia jsem pot\u0139\u0099eboval ud\u00c4\u009blat presentaci toho co jsem zat\u0102\u00adm vytvo\u0139\u0099il a napadlo mne, \u0139\u017ee bych si mohl ochodit ovl\u0102\u0104d\u0102\u0104n\u0102\u00ad t\u0102\u0160 presentace pomoc\u0102\u00ad mobiln\u0102\u00adho telefonu. U\u0139\u017e jsem to jednou vid\u00c4\u009bl na p\u0139\u0099edlo\u0139\u0088sk\u0102\u0160m openweekendu kde mobil jako d\u0102\u0104lkov\u0102\u0160 ovl\u0102\u0104d\u0102\u0104n\u0102\u00ad presentace pou\u0139\u017e\u0102\u00adval Pavel Machek, kernelov\u0102\u02dd to v\u0102\u02ddvoj\u0102\u0104\u0139\u0099, toho \u00c4\u008dasu zam\u00c4\u009bstnanec SuSE (pard\u0102\u0142n, cht\u00c4\u009bl jsem \u0139\u0099\u0102\u00adct Novellu). Jednou jsem s n\u0102\u00adm d\u00c4\u009blal rozhovor pro Terabajt a mus\u0102\u00adm \u0139\u0099\u0102\u00adci, \u0139\u017ee je to hodn\u00c4\u009b dobr\u0102\u02dd \u00c4\u008dlov\u00c4\u009bk (ve smyslu anglick\u0102\u0160ho nice).<\/p>\n<p>Za ten rok ale v\u0102\u02ddvoj na tomto poli ur\u00c4\u008dit\u00c4\u009b musel trochu pokro\u00c4\u008dit a tak jsem se dal do hled\u0102\u0104n\u0102\u00ad zdroj\u0139\u017b, jak \u0139\u017ee to ten Pavel tehdy ud\u00c4\u009blal. Jako prvn\u0102\u00ad jsem na\u0139\u0104el <a href=\"http:\/\/localhost.ruhr.de\/~stefan\/k750i\/remote.shtml\">soft\u0102\u00adk pro K750i<\/a>, ale j\u0102\u0104 m\u0102\u0104m bohu\u0139\u017eel telefon o kousek star\u0139\u0104\u0102\u00ad: T630. Hledal jsem trochu v\u0102\u00adc a na\u0139\u0104el t\u0139\u0099eba <a href=\"http:\/\/rosko.net\/osp\/btrc\/\">tohle<\/a>. To se mi ale stejn\u00c4\u009b nepoda\u0139\u0099ilo rozchodit, a\u0139\u017e jsem se dostal p\u0139\u0099es str\u0102\u0104nku <a href=\"http:\/\/ale.shouldshave.org\/t630_linux.html\">Sony Ericsson T630 and Linux<\/a> na projekt <a href=\"http:\/\/sourceforge.net\/projects\/tsemgr\/\">tsemgr<\/a>.<\/p>\n<p>Ten um\u0102\u00ad krom\u00c4\u009b jin\u0102\u02ddch v\u00c4\u009bc\u0102\u00ad jako je zaz\u0102\u0104lohovat smsky a telefonn\u0102\u00ad seznam z telefonu do po\u00c4\u008d\u0102\u00adta\u00c4\u008de, nebo opa\u00c4\u008dn\u00c4\u009b z po\u00c4\u008d\u0102\u00adta\u00c4\u008de naplnit telefon, tak\u0102\u0160 jednu funkci nazvanou <strong>remote<\/strong>. Nejde o nic jin\u0102\u0160ho, ne\u0139\u017e \u0139\u017ee po sp\u0102\u0104rov\u0102\u0104ni (klasicky pou\u0139\u017e\u0102\u00adv\u0102\u0104m bluez) a klepnut\u0102\u00ad na tla\u00c4\u008d\u0102\u00adtko <strong>connect<\/strong> pr\u0102\u0104v\u00c4\u009b na kart\u00c4\u009b remote se v\u0102\u0104m do telefonu v sekci <strong>p\u0139\u0099ipojitelnost<\/strong> menu <strong>p\u0139\u0099\u0102\u00adslu\u0139\u0104enstv\u0102\u00ad<\/strong> objev\u0102\u00ad menu, kter\u0102\u0160 v tom programu (respektive v jeho konfigu <strong>~\/.tsemgr\/tsemgr_remote.conf<\/strong>) definujete.<\/p>\n<p>Ka\u0139\u017ed\u0102\u02dd p\u0139\u0099\u0102\u00adkaz z menu pak odpov\u0102\u00add\u0102\u0104 n\u00c4\u009bjak\u0102\u0160mu p\u0139\u0099\u0102\u00adkazu shellu. T\u0139\u0099eba pro xmms je u\u0139\u017e situace jasn\u0102\u0104 a sta\u00c4\u008d\u0102\u00ad zadefinovat polo\u0139\u017eky t\u0139\u0099eba takhle:<\/p>\n<pre>\n0,root,xmms,\n1,xmms,play,xmms-shell -e play\n1,xmms,stop,xmms-shell -e stop\n<\/pre>\n<p>atd.<\/p>\n<p>Ostatn\u00c4\u009b tenhle p\u0139\u0099\u0102\u00adklad je u\u0139\u017e v tom konfigu obsa\u0139\u017een. Jen\u0139\u017ee co kdy\u0139\u017e chci ovl\u0102\u0104dat aplikaci jako je t\u0139\u0099eba Acrobat Reader, nebo jako v m\u0102\u0160m p\u0139\u0099\u0102\u00adpad\u00c4\u009b <a href=\"http:\/\/www.cse.unsw.edu.au\/~matthewc\/pspresent\/\">pspresent<\/a> (d\u00c4\u009blal jsem prezentaci v LaTeXu pomoc\u0102\u00ad maker <a href=\"http:\/\/stuwww.uvt.nl\/~hendri\/Downloads\/haprosper.html\">ha-prosper<\/a>)? Pot\u0139\u0099eboval jsem n\u00c4\u009bco, co by p\u0139\u0099i n\u00c4\u009bjak\u0102\u0160m p\u0139\u0099\u0102\u00adkazu shellu vygenerovalo event jako by byla stisknuta n\u00c4\u009bjak\u0102\u0104 kl\u0102\u0104vesa a poslalo jej X\u0139\u017bm. No a nebudu v\u0102\u0104s nap\u0102\u00adnat, ale na\u0139\u0104el jsem dost dobr\u0102\u02dd projekt\u0102\u00adk <a href=\"http:\/\/www.wildopensource.com\/activities\/larry-projects\/android.php\">android<\/a>. Jedn\u0102\u0104 se o pokus ud\u00c4\u009blat defakto makra pr\u0102\u0104v\u00c4\u009b z event\u0139\u017b X11 a v podstat\u00c4\u009b by to m\u00c4\u009blo fungovat tak, \u0139\u017ee vy si nejd\u0139\u0099\u0102\u00adv &#8222;nahrajete&#8220; svoje chov\u0102\u0104n\u0102\u00ad v X (kam jste klikli, jakou kl\u0102\u0104vesu zm\u0102\u0104\u00c4\u008dkli) a pak kdy\u0139\u017e to spust\u0102\u00adte jako skript, tak se to odehraje znova. Kolega v pr\u0102\u0104ci m\u00c4\u009b asi p\u0139\u0099ed rokem \u0139\u0099\u0102\u00adkal o n\u00c4\u009b\u00c4\u008dem podobn\u0102\u0160m pro Windows, kde m\u0102\u0104 n\u00c4\u009bco podobn\u0102\u0160ho je\u0139\u0104t\u00c4\u009b daleko v\u00c4\u009bt\u0139\u0104\u0102\u00ad Vi\u0139\u017ein\u0102\u0104m (kdo n\u00c4\u009bkdy programoval n\u00c4\u009bjak\u0102\u0160 slo\u0139\u017eit\u00c4\u009bj\u0139\u0104\u0102\u00ad skripty t\u0139\u0099eba pro spr\u0102\u0104vu AD dom\u0102\u0160ny, tak mi d\u0102\u0104 nejsp\u0102\u00ad\u0139\u0104 za pravdu, \u0139\u017ee to u\u0139\u017e by muselo b\u0102\u02ddt sakra velk\u0102\u0104 \u0102\u015fspora \u00c4\u008dasu aby se to nevyplatilo prost\u00c4\u009b naklikat v t\u00c4\u009bch pr\u0139\u017bvodc\u0102\u00adch). Kolega pr\u0102\u02dd m\u00c4\u009bl kolegu, co takhle ode\u0139\u0104el na ob\u00c4\u009bd, pustil tohle ud\u00c4\u009bl\u0102\u0104tko a ne\u0139\u017e se vr\u0102\u0104til, tak m\u00c4\u009bl p\u0139\u017blku denn\u0102\u00ad pr\u0102\u0104ce hotovou. No nev\u0102\u00adm. J\u0102\u0104 bych se asi b\u0102\u0104l, \u0139\u017ee se vr\u0102\u0104t\u0102\u00adm a budu m\u0102\u00adt naform\u0102\u0104tovan\u0102\u02dd po\u00c4\u008d\u0102\u00adta\u00c4\u008d (ono kdyby ve vhodn\u0102\u02dd okam\u0139\u017eik na vhodn\u0102\u0160 m\u0102\u00adsto vysko\u00c4\u008dila ne\u00c4\u008dekan\u00c4\u009b vhodn\u0102\u0104 hl\u0102\u0104\u0139\u0104ka \ud83d\ude09<\/p>\n<p>Nicm\u0102\u0160n\u00c4\u009b abych se vr\u0102\u0104til k t\u0102\u0160matu. Po asi t\u0139\u0099et\u0102\u00ad instalaci (android toti\u0139\u017e nen\u0102\u00ad dostupn\u0102\u02dd v emerge bal\u0102\u00ad\u00c4\u008dkovac\u0102\u00adm syst\u0102\u0160mu m\u0102\u0160ho Gentooo, tak jsem m\u00c4\u009bl trochu probl\u0102\u0160my s cestami), ale nakonec se povedlo a ud\u00c4\u009blal jsem si takov\u0102\u0160hle skript\u0102\u00adky:<\/p>\n<pre lang=\"bash\">\n$ cat ~\/bin\/prosper\/vpred \n#!\/usr\/bin\/wish\nwm withdraw .\nset failures 0\npackage require android\nproc waitfor_window { name { howlong 60 } } {\n  set result \"\"\n  while 1 { \n    catch { set result [ exec xwininfo -name $name ] } error\n    if [ string equal \"\" $result ] {\n      if { $howlong == 0 } { return 0 }\n      incr howlong -1\n      after 1000\n      continue\n    }\n    regexp {Window id: (0x[0-9a-f]*)} $result -> id\n    return $id\n  }\n}\nsend_xevents key Right\n\n# report and exit\n#puts \"Total failures: $failures\"\nexit\n<\/pre>\n<p>V podstat\u00c4\u009b je to cel\u0102\u0160 n\u00c4\u009bjak\u0102\u02dd p\u0139\u0099\u0102\u00adklad, kter\u0102\u02dd jsem sebral v distribuci android, jedin\u0102\u02dd zaj\u0102\u00admav\u0102\u02dd je tenhle \u0139\u0099\u0102\u0104dek:<br \/>\n<strong>send_xevents key Right<\/strong><\/p>\n<p>Tady to sta\u00c4\u008d\u0102\u00ad zm\u00c4\u009bnit na<br \/>\n<strong>send_xevents key Left<\/strong><br \/>\na m\u0102\u0104te skript vzad. V tom konfigu tsemgr_remote.conf jsem pak zadefinoval tohle:<\/p>\n<pre>\n0,root,prosper,\n1,prosper,Dalsi,\/home\/nax\/bin\/prosper\/vpred\n1,prosper,Predchozi,\/home\/nax\/bin\/prosper\/zpet\n<\/pre>\n<p>No a zase se m\u0139\u017b\u0139\u017eu chlubit o n\u00c4\u009bco lep\u0139\u0104\u0102\u00adm prezent\u0102\u0104torsk\u0102\u02ddm um\u00c4\u009bn\u0102\u00adm. Mimochodem cvi\u00c4\u008d\u0102\u00adc\u0102\u00admu se to v\u0102\u0104\u0139\u017en\u00c4\u009b l\u0102\u00adbilo a za prezentaci jsem nejen tedy k\u0139\u017bli tomuhle dostal pln\u0102\u02dd po\u00c4\u008det.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na p\u0139\u0099edm\u00c4\u009bt Nov\u0102\u0104 m\u0102\u0160dia jsem pot\u0139\u0099eboval ud\u00c4\u009blat presentaci toho co jsem zat\u0102\u00adm vytvo\u0139\u0099il a napadlo mne, \u0139\u017ee bych si mohl ochodit ovl\u0102\u0104d\u0102\u0104n\u0102\u00ad t\u0102\u0160 presentace pomoc\u0102\u00ad mobiln\u0102\u00adho telefonu. U\u0139\u017e jsem to jednou vid\u00c4\u009bl na p\u0139\u0099edlo\u0139\u0088sk\u0102\u0160m openweekendu kde mobil jako d\u0102\u0104lkov\u0102\u0160 ovl\u0102\u0104d\u0102\u0104n\u0102\u00ad presentace pou\u0139\u017e\u0102\u00adval Pavel Machek, kernelov\u0102\u02dd to v\u0102\u02ddvoj\u0102\u0104\u0139\u0099, toho \u00c4\u008dasu zam\u00c4\u009bstnanec SuSE (pard\u0102\u0142n, cht\u00c4\u009bl jsem \u0139\u0099\u0102\u00adct [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,13],"tags":[],"class_list":["post-131","post","type-post","status-publish","format-standard","hentry","category-linux","category-skola"],"_links":{"self":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=131"}],"version-history":[{"count":0,"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/131\/revisions"}],"wp:attachment":[{"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}