čtvrtek 30. července 2015

Logitech Performance Mouse MX v Ubuntu/GNOME

Pořídil jsem si začátkem tohoto roku, po šesti letech s myší Logitech MX1100, Logitech nový a zároveň starý, vyrábí se totiž již přes pět let. Vyvolenou se stala Performance Mouse MX. Nebyl to nejlepší nápad, který mě napad, ale když už ji mám, dám k dobru své postřehy ohledně funkce pod Ubuntu. Performance MX mě v několika drobnostech překvapila. Když pominu odporný chod hlavních tlačítek mého kusu, je to má první myš od Logitechu, která mi nepadne perfektně do ruky. Věnovat se chci ale především těm méně subjektivním objevům, jako že naklápění kolečka generuje mnohem víc eventů, než jsem čekal a jak přepínat DPI, kteréžto je to možné pouze softwarovou cestou. Hrál jsem si samozřejmě i s xbindkeys pro namapování extra tlačítek na užitečné funkce. ...

První připojení

Performance Mouse MX funguje bez problémů hned po připojení, včetně všech tlačítek (těch je na myši 6 + 5 generovaných kolečkem). Fungují i notifikace ohledně stavu baterie, takže vás systém informuje, když myšákovi zbývá již málo energie.

Otáčení kolečka je tradičně možné přepnout do hyper-scroll módu, kdy přestane cvakat a otáčí se volně s velkou setrvačností. Přepínání je řešeno mechanickým přepínačem hned za kolečkem, takže funguje bez asistence softwarového ovladače, jako tomu bylo kdysi u MX Revolution.

Překvapilo mě naklápění kolečka, které není řešeno klasicky, že naklopení stiskne a uvolnění kolečka rozepne mikrospínač stejně, jako jakékoli jiné tlačítko. Performance MX to má řešeno tak, že vyhnutí kolečka začne generovat opakované stisky a pokud přitlačíte víc, přidá na kadenci.

Naklápění kolečka je určeno k horizontálnímu posuvu dokumentu, který se nevejde do okna a tak to také funguje, přinejmenším ve webových prohlížečích. Rychlost posuvu je ale nízká a protože naklápění je relativně tuhé, je problém zatlačit tak, aby se aktivovala vyšší rychlost. Větší problém je vyhnout kolečko doprava, protože tím, že rovina tlačítek není ke kolečku kolmá, máte zleva daleko menší plochu, do které prst můžete opřít a pokud se snažíte vyvinout dostatečnou sílu k zvýšení rychlosti posuvu, nejspíš vám prst z kolečka prostě sklouzne.

Darkfield Laser Tracking snímač

Běžné optické snímače diodových a laserových myší (používá se laser s infračerveným světlem) využívají struktury povrchu, po kterém se myš pohybuje, pro zjišťování směru a rychlosti pohybu. Jednoduše povrch osvítí a optickým snímačem s nějakým rozlišením ho snímají s frekvencí v řádu kHz. Obrazy se mezi sebou porovnávají, aby se zjistil směr a rychlost pohybu. Problémem jsou ale lesklé a průhledné povrchy, které buď nevrátí dostatek světla do snímače, nebo ho vrátí sice skoro všechno, ale bez čitelného obrazu.

Technologie Darkfield implementuje ještě další princip, který se používá v mikroskopech. Ta oproti tradičním snímačům nesnímá celý povrch, ale jen odrazy laseru od mikroskopických částic a chyb v povrchu, po kterém se myš pohybuje. Proto není problém mít jako podložku sklo (podle oficiálních materiálů alespoň 4mm tlusté), v mikroskopickém měřítku se v běžném prostředí většinou něco na povrchu najde, podle čeho se dá určit pohyb myši.

Darkfield Tracking myši Logitechu ale nevyužívají jen tuto metodu, ta pouze doplňuje tradiční laserovou. Myš na normální podložce kouká "běžným laserem" a pokud to nestačí, zařadí Darkfield.


Performance MX každopádně drandí opravdu na všem, co jí běžně předhodím, sklo problém není. Jediné, na čem jsem ji dostal, bylo vyleštěné zrcadlo, to jsem musel doplnit o nějaké ty otisky prstů, aby vůbec něco viděla. Ostatně nejzásadnějším důvodem nákupu nové myši bylo právě slepnutí senzoru MX1100, která už nechtěla fungovat ani na prostěradle, oproti i té nejlacinější LED myši. A to jsem optiku čistil i zevnitř.

Dobíjení AA baterie přes micro USB

Performance MX funguje na jednu běžnou tužkovou nabíjecí baterii. Na čumáku má navíc micro USB konektor, kterým ji můžete nabíjet. To je opravdu nejlepší řešení, jaké se dá asi vymyslet. Drát s micro USB konektorem mi na stole trčí již léta kvůli mobilnímu telefonu a tudíž nepotřebuju drát další. Navíc se dá myš při nabíjení normálně používat, jen z ní je na chvíli myš drátová. A když je nejhůř, samozřejmě můžete použít i jakoukoli běžnou nenabíjecí baterii. Jen se ji pak nesnažte nabíjet, vyteklé primární články páchají škody.

Nutno ale dodat, že oproti MX1100, kde jsem na jednu tužku (daly se tam nacpat i dvě) fungoval měsíce, je výdrž Performance MX maximálně na týdny při lehkém vytížení. Když maká celé dny, vybije se do týdne, což není žádná sláva. Ale ani tragédie, původní MX1000 vydržela ještě méně, měla vestavěný akumulátor a musela se odkládat do nabíjecího stojánku.

Solaar - správce unifying zařízení Logitechu

Solaar je aplikace rumunského tvůrce Daniela Pavla, která umožňuje s unifying přijímačem párovat další zařízení Logitechu a nastavovat jejich parametry, jako je DPI snímače a funkčnost kolečka v případě Performance MX. Solaar se spouští jako indikátor na systémovém panelu a jeho ikona graficky znázorňuje stav baterie připojeného zařízení, přinejmenším, pokud je zapojeno jen jedno.


Krom rozlišení snímače, které je nastavitelné od 100 do 1500 DPI v 15 krocích, máte možnost změnit rozlišení otáčení kolečka, i chování jeho naklápění. Po zapnutí položky Smooth Scrolling zjistíte, že kolečko má daleko větší rozlišení a je na jeden cvak schopno vygenerovat místo jedné událostí osm, což je zajímavé především v hyperscroll režimu kolečka, kde nepřijdete o jemnost posuvu a zároveň získáte osmkrát vyšší rozlišení na stejné otočení kolečka, čímž se procházení delších stránek opravdu výrazně urychlí.

Side scrolling je naopak ve výchozím stavu zapnutý a funguje tak, jak jsem napsal výše. Pokud ho vypnete, měla by být funkce horizontálního posouvání nahrazena nějakými uživatelskými událostmi. V praxi to ovšem znamená jen to, že naklápění kolečka generuje stejné události daleko rychleji, takže je horizontální posuv dokumentu konečně trochu použitelný, kdežto jakékoliv jiné použití může být komplikovanější. Pravdou ovšem je, že v tomto režimu vygeneruje uvolnění náklonu kolečka ještě jeden event a to klik na tlačítko 11, resp. 12 pro druhý směr, přičemž tato tlačítka na myši vůbec nejsou.

Instalace:

sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar

Namapování tlačítek na funkce podle libosti

Jedním z důvodů, proč jsem si pořídil tuhle myš, je větší počet tlačítek, která si mapuju na nejpoužívanější funkce. Performance MX má jen na palec 4 tlačítka. Sice bych tlačítka pro přechod vpřed/vzad měl raději přímo pod palcem, abych nemusel přehmatávat, ale to jsem ještě nikde neviděl, pokud to zas nebyla herní myš, která tam těch tlačítek měla milión.

Na namapování tlačítek používám aplikaci xbindkeys, která zachytává klávesy a tlačítka myši, která si poručíte, a na jejich základě spouští příkazy. Jako příkaz nejčastěji používám aplikaci xte (z balíku xautomation), která umí simulovat stisky kláves, tlačítek myši a dokonce i myší pohybovat. Duplikuju tedy klávesové zkratky na tlačítka myši.

Takže pár mých tipů a úvah.

Přepínání oken/aplikací

Přímo pod palcem na tom výběžku je tlačítko, které jsem si nastavil na přepínání oken, tedy Alt+Tab, což je vlastně i jeho původní účel a je tak označeno. Nejjednodušší aplikací je přepnutí na předchozí okno

"xte 'keydown Alt_L' 'key Tab' 'keyup Alt_L'"
    b:10

U přepínání aplikací by bylo dokonalé, kdyby stisk tlačítka fungoval jako stisknout a držet Alt + stisknout a povolit Tab, a uvolnění tlačítka by pak jen opět uvolnilo Alt. Protože nabídka Alt+Tab spolupracuje s myší, mohl bych do uvolnění tlačítka vybírat aplikace kolečkem i kurzorem a po jeho uvolnění by se na zvolenou aplikaci přepnulo. Vypadalo by to takto:

"xte 'keydown Alt_L' 'usleep 20000' 'key Tab' "
    b:10

"xte 'keyup Alt_L'"
    release + b:10

To má ovšem zásadní háček v tom, že popup okna (v GNOME Shell, i Unity) sežerou všechny eventy a tak se uvolnění tlačítka k xbindkeys vůbec nedostane.

Dá se to obejít leda tak, že to nacpete do jednoho příkazu a než Alt pustíte, necháte nějakou pauzičku na výběr okna. To ovšem zdržuje, pokud chcete přepnout rychle na předchozí okno a když dáte krátkou pauzu, tak zas hrozí, že správně vybrat jiné okno nestihnete. Dospěl jsem ke kompromisu 0,5s, není to zas tak dlouho, aby to otravovalo a zároveň to stačí  tomu, abych kolečkem otočil o jeden, až dva zuby a dostal se pohodlně k dalším dvěma oknům.

"xte 'keydown Alt_L' 'usleep 20000' 'key Tab' 'usleep 500000' 'keyup Alt_L'"
    b:10

V Compizu/Unity jsem ale pro přepínání oken raději používal pravý okraj monitoru + otáčení kolečkem, což funguje dokonale. Popravdě, nebyl by takový problém to napsat pro GNOME Shell, snad se k tomu dostanu.

V Unity se samozřejmě nabízí nastavit si tlačítko pro přepínání oken na Super+W, které zobrazí náhled všech oken na ploše. Nakonec stejně jako Super v GS, to si ale nastavuji na naklopení tlačítka, viz dále.

Přepínání na předchozí panel/kartu/list/tab

Tlačítko Zoom, které se nachází nad palcem, jsem si nastavil na přepínání posledních dvou ... tabů, tedy Ctrl+Tab. Velmi užitečná funkce nejen pro prohlížeče, ale i pro rozumné textové editory, správce souborů a další užitečné aplikace. Ty pauzy (usleep v mikrosekundách) jsou tam kvůli aplikacím, které by to tak rychle nestihly, jako například nová Opera.

"xte 'keydown Control_L' 'usleep 20000' 'key Tab' 'usleep 50000' 'keyup Control_L'"
    b:13


Aktivace Aktivit

Naklápění kolečka si nastavuju na vyvolání overview režimu v GNOME Shell - zatlačení doleva mám namapováno na klávesu Super pro vyvolání Aktivit v a naklopení doprava vyvolá stisk Super+A pro zobrazení nabídky aplikací, kterou mám přepnutu na nejpoužívanější, takže jsou tam

"xte 'key Super_L'"
    b:7
"xte 'keydown Super_L' 'key A' 'keyup Super_L'"
    b:6

GNOME Shell po vyvolání aktivit, stejně jako jakéhokoliv popup okna, nepropouští další eventy k xbindkeys, tudíž nevadí když jich myš vygeneruje víc za sebou, pokud kolečko přidržím déle. Na druhou stranu pokud si v Solaaru přepnete naklápění kolečka do výše zmíněného alternativního rychlejšího režimu, problém již nastane. Pokud bych to namapoval na funkci, kde by opakování vadilo, není ale zas až takový problém do kolečka strčit tak, aby to vygenerovalo pouze jeden stisk. Zas oproti běžnému mikrospínači to necvaká.

Změna rozlišení snímače z terminálu

Změna rozlišení (DPI) snímače, se dá provádět pouze softwarovou cestou a pokud nebudete chtít klikat přes Solaar, budete muset trochu kompilovat. Myš je ale tak blbě navržena, že zapomene DPI i po přechodu do úsporného režimu a po probuzení třeba to nastavovat znovu.

https://github.com/joelpet/logitech-mx-performance-dpi

Zkompilovat tento kód je trivialita, stačí jen nainstalovat balík build-essential, stáhnout zdrojový kód do adresáře a spustit v něm make. Výsledný spustitelný soubor si pak umístíte, kam potřebujete, třeba do /usr/local/bin, či ~/bin.

Následně pak můžete měnit DPI pomocí jednoduchých příkazů, komplikuje to jen to, že musíte použít práva roota, tedy sudo. Rozsah nastavení je 1-16, přičemž vyšší číslo znamená vyšší DPI.

Nesmíte mít ale současně spuštěn Solaar, protože ten jakoukoli změnu vrátí zpět podle svého nastavení. Tedy buď jedno, nebo druhé.

Jinak mi Perfomance nesedí dobře v ruce a tlačítka mého kusu jsou horší, než u myši za stovku

Než jsem zakoupil, prošel jsem si x recenzí, které byly veskrze pochvalné. Když jsem myš poprvé chytil do pracky, byl jsem zklamán tím, že do ní příliš nepasuje. Že má jiný tvar, než MX1000 aMX1100, které jsem měl předtím a seděly naprosto perfektně, jsem si všiml před objednáním, ale že to bude tak blbé, to mě nenapadlo. Performance MX má štíhlejší hřbet, vybranější prostor na palec, je zakřivenější a má strmější náběh odzadu do dlaně. A já mám poměrně širokou dlaň (cca 9,5cm). Výsledkem je, že mám tendenci ji držet nakřivo, aby mi lépe vyplnila dlaň a prsty tak tlačítka tisknu na jejich pravé straně, kde ovšem mají o poznání horší chod. A to je další průšvih.

Stiskl a pustil jsem levé tlačítko a ono to klasicky cvaklo mikrospínačem a současně to cestou zpět udělalo ránu. Vracející se plast tlačítka zkrátka do něčeho naráží. Kliknul jsem párkrát a byl na prášky, to se nedá vydržet. Musím buď vracet tlačítko opatrně a pomalu, nebo je to lepší, když tlačítko mačkám úplně na levém okraji, což ale odporuje tomu, jak myš přirozeně držím.

Myslel jsem, že je to vše, ale pak jsem zkusil použít tlačítko pravé. Šlo to ztuha, přitom s polovičním zdvihem levého. Naposledy jsem kdysi před lety hodil o zeď MX1000, ale to bylo až po záruce. Dva tisíce ale není zrovna tak málo, tak jsem se raději uklidnil. Když jsem začal hledat po netu důkladněji, zjistil jsem, že ačkoliv je ta myš prodávána již pět let, kvalita výroby je od začátku bídná a je spíš náhoda, když dostanete plně funkční kus, někteří ji měnili dvakrát, než se trefili. Sice už dávno vím, že Logitech nevyrábí zrovna kvalitně, ale zatím mi jeho myši vždy perfektně seděly v ruce, i rozumně fungovaly. Jen poměrně rychle odcházela některá tlačítka, posléze snímač :)

Po půl roce se sice tlačítka malinko ochodila, především to pravé se dá již i dokonce používat, ale stejně to není ono. Až si budu vybírat novou myš, dám si větší pozor.




4 komentáře:

  1. Tak nevím, napíšu komentář, zvolím "Náhled" a v potu tváře formulovaná myšlenka zmizí tam, kam slunce nesvítí. Zdá se. Povídám, nějak to nefunguje...
    Původně jsem tedy psal, že Logitech M705 mi při pohybu reagovala nějak opožděně (ne moc, ale pocitově šlo o nepříjemnou věc), jenom nevím, jestli je to obecně vlastnost bezdrátů (tedy i např. MX1100), nebo může být chyba někde jinde.
    daks

    OdpovědětVymazat
    Odpovědi
    1. Já jsem s tím problém neměl nikdy, nepozoruju zpoždění ani u obyčejné setové myši od klávesnice Gigabyte. Schválně jsem ještě vyštrachal starou drátovou myš, abych to porovnal přímo, ale jestli když se soustředím zaznamenám nějaký pocit, že tu je rozdíl, tak asi jen proto, že vím, že drát by mohl být rychlejší. A to to ještě testuju na monitoru s relativně vysokým input lagem. Asi je možné, že někdo je na tyto prodlevy citlivější, ale z mého pohledu nic, co by mě vůbec napadlo zmiňovat.

      S těmi komentáři - já si je před odesláním vždy pro jistotu zkopíruju do clipboardu.

      Vymazat
    2. Dík za otestování, nakonec to asi fakt bude problém mezi klávesnicí a židlí, kdo ví.
      daks

      Vymazat
  2. ooo, žasnu, konečně jsi prubl moji myšku. Mám ji 3 roky, přežila celé 3 roky VŠ a stále slouží. Uklidním tě s tou tuhostí tlačítek. Po cca půlroce denního používání (8h, někdy i víc) se vyklikala a jde to stejně jako u ostatních myší celkem lehce. No jinak hodnocení je individuální, pro mou velkou haksnu je to jediná použitelná myš, z čehokoliv jiného mě bolí po půlhodině ruka.
    Jinak ja používám unity, takže compiz setting manager to umí taky a mám to nastaveno skoro stejně :-)
    Ale jak tak koukám, někdy si pohraju.

    OdpovědětVymazat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.