{"id":50,"date":"2003-11-19T14:58:05","date_gmt":"2003-11-19T14:58:05","guid":{"rendered":"https:\/\/143-42-55-146.ip.linodeusercontent.com\/?p=50"},"modified":"2003-11-19T14:58:05","modified_gmt":"2003-11-19T14:58:05","slug":"nova-klavesnice-umax-office","status":"publish","type":"post","link":"https:\/\/nax.cz\/?p=50","title":{"rendered":"NOVA KLAVESNICE UMAX OFFICE"},"content":{"rendered":"<p>Vcera jsem mel narozeniny a dostal jsem <a href=\"http:\/\/office.ccb.cz\/site\/hardware\/images\/03-05-03-01.jpg\">tuhle<\/a> sqelou klavesnici Umax Office Keyboard, kterou jsem si pral. Klavesy jsou opravdu prijemne na psani, je o neco mekci nez moje minula, ale zase ne moc. No a hned vecer jsem se pustil do rozchozovani specialnich klaves.<\/p>\n<p>Opravdu dobry projekt ktery zavadi podporu multimedialnich klavesnic je <a href=\"http:\/\/lineak.sourceforge.net\/\">LinEAK<\/a>. Existuje jeste konkurencni projekt <a href=\"http:\/\/freshmeat.net\/projects\/hotkeys\">hotkeys<\/a>, ale ten jsem nezkousel.<\/p>\n<p>Lineak ma 2 konfiguraky. Ten prvni je v \/usr\/etc a menuje se lineakkb.def. Po trose zkoumani, jsem za pomoci utility xev, ktera vypisuje spoustu informaci a mimo jine hlavne keycode stisknute, respektive pustene klavesy.<\/p>\n<p>Vysledkem je pak tenhle muj <a href=\"http:\/\/nax.hn.org\/pub\/umaxofficekb\">konfigurak<\/a>, kam jsem na konec pridal nasledujici zaznam pro moji klavesnici:<\/p>\n<p># Contributed by Josef Hajas<br \/>\n[UOK]<br \/>\n  brandname = &#8222;Umax&#8220;<br \/>\n  modelname = &#8222;Office Keyboard&#8220;<br \/>\n  [KEYS]<br \/>\n        Back                    = 234<br \/>\n        Forward                 = 233<\/p>\n<p>        BlueLeft                = 166<br \/>\n        BlueRight               = 168<br \/>\n#        BlueUp                 = 139<br \/>\n        BlueDown                = 139<\/p>\n<p>        Stop                    = 232<br \/>\n        WWW                     = 178<br \/>\n        Email                   = 236<br \/>\n        Favorites               = 230<br \/>\n        Refresh                 = 231<br \/>\n        Search                  = 229<\/p>\n<p>        PowerOff                = 222<br \/>\n        Sleep                   = 223<br \/>\n        Mute                    = 160<br \/>\n        VolumeUp                = 176<br \/>\n        VolumeDown              = 174<\/p>\n<p>        Play|Pause              = 162<br \/>\n        Stop                    = 164<br \/>\n        Previous                = 144<br \/>\n        Next                    = 153<\/p>\n<p>#        APP                    = xxx  Alt+Shift+TAB<br \/>\n#        Close                  = xxx  Alt+F4<br \/>\n#        Mark                   = xxx  Shift<br \/>\n#        Cut                    = xxx  Shift+Del<br \/>\n#        Paste                  = xxx  Ctrl+v<br \/>\n#        Copy                   = xxx  Ctrl+c<\/p>\n<p>#        Word                   = xxx  Ctrl+Alt+d<br \/>\n#        Excel                  = xxx  Ctrl+Alt+e<br \/>\n#        PPoint                 = xxx  Ctrl+Alt+p<br \/>\n#        Calendar               = xxx  Ctrl+Alt+o<br \/>\n#        Calc                   = xxx  Ctrl+Alt+c<br \/>\n#        MyCom                  = xxx  Meta+e<br \/>\n#        LogOff                 = xxx  Meta Meta Up Up Up Return<\/p>\n<p># With F function<br \/>\n#        Help                   = xxx  F1<br \/>\n#        New                    = xxx  Ctrl+n<br \/>\n#        Open                   = xxx  Ctrl+o<br \/>\n#        Save                   = xxx  F12<\/p>\n<p>#        Replace                = xxx  F5<br \/>\n#        Spell                  = xxx  F7<br \/>\n#        Undo                   = xxx  Alt+BackSpace<br \/>\n#        Redo                   = xxx  Alt+Return<\/p>\n<p>#        Reply                  = xxx  Ctrl+r<br \/>\n#        Forward                = xxx  Ctrl+f<br \/>\n#        Send                   = xxx  Ctrl+Return<br \/>\n#        Print                  = xxx  Shift+F12<br \/>\n  [END KEYS]<br \/>\n[END UOK]<br \/>\n# end Umax Office Keyboard<\/p>\n<p>Jediny co jsem nepochopil je, proc takove to kulate modre tlacitko generuje stejny scancode pro nahoru i dolu \ud83d\ude41<\/p>\n<p>Jak je videt zdaleka ne vsechny klavesy maji prizazeny vlastny keycode, ale hodne specialnich multimedialnich nebo funkcnich klaves generuje sekvenci jinych klaves. S temi lineak neumi nic delat, ale v KDE se to da pres KControl\/prizpusobeni\/klavesove zkratky docela dobre nakonfigurovat.<\/p>\n<p>Kazdopadne pro prirazeni scankodum akce se da pres konfigurak ~\/.lineak\/lineakd.conf a ted v soucasne dobe vypada takhle:<\/p>\n<p># Global settings<br \/>\nKeyboardType            = UOK<br \/>\nCdromDevice             = \/dev\/cdrom<br \/>\nMixerDevice             = \/dev\/mixer<\/p>\n<p># Specific keys of your keyboard<br \/>\nBack            = &#8222;\/usr\/bin\/fakekey&#8220;<br \/>\nForward         = &#8222;&#8220;<br \/>\nBlueLefft       = &#8222;&#8220;<br \/>\nBlueRight       = &#8222;&#8220;<br \/>\nStop            = &#8222;&#8220;<br \/>\nWWW             = &#8222;\/usr\/bin\/moztab&#8220;<br \/>\nEmail           = &#8222;mozilla -mail&#8220;<br \/>\nFavorites       = &#8222;&#8220;<br \/>\nRefresh         = &#8222;&#8220;<br \/>\nSearch          = &#8222;\/usr\/bin\/moztab google.com&#8220;<br \/>\nPowerOff        = &#8222;&#8220;<br \/>\nSleep           = &#8222;EAK_SCREEN_LOCK(KDE)&#8220;<br \/>\nMute            = &#8222;EAK_MUTE&#8220;<br \/>\nVolumeUp        = &#8222;EAK_VOLUP&#8220;<br \/>\nVolumeDown      = &#8222;EAK_VOLDOWN&#8220;<br \/>\nPlay|Pause      = &#8222;xmms -t&#8220;<br \/>\nStop            = &#8222;xmms -s&#8220;<br \/>\nPrevious        = &#8222;xmms -r&#8220;<br \/>\nNext            = &#8222;xmms -f&#8220;<\/p>\n<p>moztab je muj skriptik, ktery zpusobuje to, ze pokud nebezi zadna instance mozilly, tak ji pusti a otevre stranku kerou dostane jako parametr a pokud uz nejaka mozilla bezi, tak udela totez, ale otevre jen novou tab. Skript vypada takhle:<\/p>\n<p>$ cat \/usr\/bin\/moztab<br \/>\n#!\/bin\/sh<br \/>\nif ! `mozilla -remote &#8222;OpenURL($1,new-tab)&#8220;`<br \/>\n    then `mozilla -splash $1 &#038;`<br \/>\nfi<\/p>\n<p>Ten program fakekey jsem si napsal sam kdyz jsem zjistil, ze asi nebude jina cesta jak z sellu simulovat stisk klaves. Inspiroval jsem se <a href=\"http:\/\/www.sh.cvut.cz\/~robik\/tips\/xwin.html\">tady<\/a>  respektive na <a href=\"http:\/\/216.239.59.104\/search?q=cache:DxecAkL3JQcJ:www.sh.cvut.cz\/~robik\/tips\/xwin.html+XK_Num_Lock&#038;hl=cs&#038;lr=lang_cs&#038;ie=UTF-8\">google mirroru<\/a>. Ten samy programek na zapinani NumLocku je i <a href=\"http:\/\/sdb.suse.de\/cz\/sdb\/html\/cg_x11numlock.html\">u suse<\/a>.<\/p>\n<p>Ten muj programek simulujici Alt+Left (coz je zkratka pro Back v mozille) pak vypada analogicky:<\/p>\n<p>#include <x11 \/extensions\/XTest.h><br \/>\n#include <\/x11><x11 \/keysym.h><\/p>\n<p>int main(int argc, char **argv) {<br \/>\n    Display* disp = XOpenDisplay( NULL );<br \/>\n    if( disp == NULL ) return 1;<\/p>\n<p>    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Alt_L ), True, CurrentTime ); \/\/ key Alt down<br \/>\n    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Left ), True, CurrentTime ); \/\/ key Left down<br \/>\n    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Left ), False, CurrentTime ); \/\/ key Alt up<br \/>\n    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Alt_L ), False, CurrentTime ); \/\/ key Alt up<\/p>\n<p>    XCloseDisplay( disp );<br \/>\n    return 0;<br \/>\n}<\/p>\n<p>Az budu mit trochu cas, tak to trochu zobecnim, aby to mohlo generovat libovolnou sadu stisku.<\/p>\n<p>Nicmene ten problem jsem vyresil nakonec docela jinak. V <a href=\"http:\/\/sourceforge.net\/forum\/forum.php?thread_id=851734&#038;forum_id=156293\">diskusi k lineaku<\/a> jsem nasel sqelou radu jak na tlacitka back a forwart v mozille.<\/p>\n<p>Back            = &#8222;mozilla -remote &#8218;openURL(javascript:history.go(-1);)'&#8220;<br \/>\nForward         = &#8222;mozilla -remote &#8218;openURL(javascript:history.go(1);)'&#8220;<\/p>\n<p>Jeste me stve jedna vec: kdyz pocitac bootuje tak jak se po discich kontroluje klavesnice (normalne jen trochu probliknou vsechny kontrolky) tak se vzdy zapne cervena ledka F indikujici ze fukcni klavesy nejou F1-F12 ale generuji vicestisky napr pro ulozeni, otevreni, novy dokument atd. <\/p>\n<p>Vzhledem k tomu ze mam na F1-F4 prepinani ploch, tak mi to docela vadi \ud83d\ude41<\/p>\n<p>Asi si predelam prepinani ploch na samotne ty zkratkove funkcni klavesy (tedy Help, New, Open a Save). OpenOffice pouziva stejne jine klavesove zkratky a to ani nemluvim o mem oblibenem vimku \ud83d\ude09 Jo kdyby nejaky ficury klavesy fungovali ve vimku&#8230; no mozna to jeste nejak upravim.<\/x11><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vcera jsem mel narozeniny a dostal jsem tuhle sqelou klavesnici Umax Office Keyboard, kterou jsem si pral. Klavesy jsou opravdu prijemne na psani, je o neco mekci nez moje minula, ale zase ne moc. No a hned vecer jsem se pustil do rozchozovani specialnich klaves. Opravdu dobry projekt ktery zavadi podporu multimedialnich klavesnic je LinEAK. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/50","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=50"}],"version-history":[{"count":0,"href":"https:\/\/nax.cz\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions"}],"wp:attachment":[{"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nax.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}