abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 16:11 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 4. a 5. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu.

Ladislav Hagara | Komentářů: 0
dnes 14:11 | Komunita

Některým uživatelům Firefoxu se tento týden do Firefoxu nainstalovalo neznámé rozšíření Looking Glass 1.0.3 (png). Ve fórů Mozilly se řešilo, zda se nejedná o malware. Mozilla později informovala, že se jednalo o reklamu na seriál Mr. Robot. Řadě uživatelů Firefoxu se jednání Mozilly vůbec nelíbilo. Mozilla proto automatickou instalaci doplňku ukončila [Hacker News, reddit].

Ladislav Hagara | Komentářů: 8
včera 12:00 | Nová verze

Po cca 3 týdnech od vydání Linux Mintu 18.3 s kódovým jménem Sylvia a prostředími MATE a Cinnamon byla oznámena také vydání s prostředími KDE a Xfce. Podrobnosti v poznámkách k vydání (KDE, Xfce) a v přehledech novinek s náhledy (KDE, Xfce). Linux Mint 18.3 je podporován do roku 2021.

Ladislav Hagara | Komentářů: 6
15.12. 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 52
15.12. 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
15.12. 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 10
15.12. 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 10
14.12. 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
14.12. 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (0%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 1008 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Pystromo - šikovné (pře)mapování kláves

    2. 2. 2012 | David Kolibáč | Hardware | Návody | 3101×

    Původním cílem projektu Pystromo bylo vytvoření nástroje umožňujícího nastavení kláves na herním zařízení Belkin Nostromo n52, jehož variantu n52te si v tomto článku představíme. Vedle toho se také podíváme na možnosti použití programu Pystromo, který nakonec můžeme použít k "přeprogramování" funkce tlačítek na takřka libovolném vstupním zařízení.

    Obsah

    Belkin SpeedPad n52te

    Mezi hráči si vydobyla nemalou popularitu zařízení jako Logitech G13 nebo právě řada Nostromo od Belkinu, resp. Razeru. Jde o minimalistické klávesnice pro jednu, obvykle levou, ruku. Právě pro hráče je podstatná možnost nastavit si funkce jednotlivých kláves, případně jejich kombinací, což na MS Windows obstarává specializovaný software od výrobce. Jak to ale souvisí s GNU/Linuxem, který se nedá považovat za typickou herní platformu? Důvody jsou dva úzce provázané. Za prvé jsou takováto zařízení řešena poměrně ergonomicky oproti většině běžných klávesnic, za druhé si jde na klávesy navázat klávesové zkratky nebo makra. Využití to najde při práci se specializovaným softwarem nebo třeba i obyčejným webovým prohlížečem.

    Belkin n52te se od asi nejpopulárnějšího modelu n52 liší jen v detailech jako podsvícení, firmware atp. Je to na první pohled docela zvláštní zařízení s futuristickým tvarem. Matná opěrka slouží pro opření levé dlaně, palec padne na čtyřsměrnou křížovou páčku a zbývající prsty pokryjí pole s klávesami. Je to velice pohodlné — především díky provedení opěrky, jež je jednak pogumovaná (hodí se v případě potící se dlaně), jednak nastavitelná do jedné ze dvou pozic podle délky prstů (aby pohodlně dosáhly na všechna tlačítka).

    Na spodní straně najdeme přepínač, kterým se zapíná podsvícení. Ale osobně jej prakticky nevyužívám, jelikož klávesy jsou pokryty prsty, takže na ně není vidět, podsvícení kolečka mi zase tak kritické nepřipadá a z polohy, v níž sedím, není pozorovatelné ani podsvícení prostoru mezi klávesami. Navíc bych ocenil, kdyby mi do obličeje neustále nesvítila dioda umístěná vedle palce. Když už jsme u toho, další "módní" záležitost, totiž lesklý černý plast, zde výjimečně příliš nevadí, protože na povrchu nezůstávají vidět otisky prstů.

    Ale konečně k tomu nejpodstatnějšímu, totiž klávesám. Je jich celkem patnáct a k tomu čtyřsměrná páčka, jedno tlačítko vedle ní a kolečko jako u myši. Trojice kláves v sloupci nejvíce vlevo (v režii malíčku) se ve výchozím stavu chová jako Tab, Caps Lock a Shift; dalších jedenáct kláves zastupuje levou část QWERTY, tu v hrách nejvyužívanější, tedy po řádcích QWER, ASDF a ZXC; poslední klávesa se nachází pod kloubem palce a hlásí se jako mezerník. Tyto klávesy jsou běžné membránové a mají výraznou odezvu. Kolečko u ukazováčku hlasitě "cvaká" a jde poměrně ztuha stisknout — chová se jako běžné kolečko myši. Zbývá nám tlačítko u palce, to se hlásí jako Alt a je to obyčejné tlačítko (nikoliv jako u klávesnice), a nakonec páčka pro palec — bříško prstu padne přesně na hrubý klobouček a dá se tak snadno pohybovat (ve výchozím stavu kurzorovými šipkami).

    Ohledně přítomných ovládacích prvků nemám velké výhrady. Opěrka dlaně je skvělá, přístup ke klávesám je také velice dobrý, byť tu a tam lehce narážím problém s nedostatečnou délkou svých prstů. Ocenil bych snazší manipulaci s kolečkem, ovšem jsem si vědom toho, že to by šlo spíše proti hernímu využití. Taktéž bych byl rád (a nejsem sám) za kvalitnější klávesy s mikrospínači s lineárním průběhem stisku (vizte modifikaci).

    Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te Belkin SpeedPad n52te

    Pystromo

    link

    A nyní se pojďme podívat na Pystromo. Poslední verze (s označením 0.6.0) je staršího data, ale stále by měla posloužit. Ke stažení ji najdeme na Launchpadu, na balíčky si musíme nechat zajít chuť.

    Instalace

    Instalace je poměrně jednoduchá:

    1. Zavedeme modul uinput, tedy se superuživatelskými právy provedeme modprobe uinput a pro příště přidáme uinput na nový řádek do souboru /etc/modules.
    2. Rozbalíme stažený archiv. Pokud nechceme Pystromo spouštět se superuživatelskými právy, zkopírujeme do /etc/udev/rules.d/ soubor 52-pystromo.rules (resp. 52-pystromo-debian.rules v případě Ubuntu/Debianu nebo 52-pystromo-suse.rules v případě OpenSUSE) z adresáře config v archivu. (Nechceme-li restartovat systém, pravidla uvedeme v platnost příkazy udevadm control --reload-rules a udevadm trigger.) Na tomto místě považuji za vhodné podotknout, že se jedná o potenciální bezpečnostní riziko, neboť se tím uživatelům zpřístupňují "syrová" data ze vstupních zařízení.
    3. Konfiguraci udržujeme typicky v adresáři ~/.config/pystromo/.

    Soubory aplikace Pystromo

    Použití

    link

    Základním programem je pystromo-remap.py — stará se o samotné přemapování kláves. Volá se zpravidla pystromo-remap.py -m soubor, což provede mapování podle pravidel uvedených v zadaném souboru. Argument -m můžeme použít vícekrát najednou. Další (volitelné) argumenty jsou -R (program pak kontroluje, zda se konfigurační soubor nezměnil — jestliže ano, pak se podle toho zachová) a -v (vypisuje informace o běhu programu, dá se použít jednou až třikrát najednou a podle toho jsou vypisované informace detailní).

    Užitečný může být démon pystromo-mon.py, který sleduje běžící procesy a v závislosti na nich volá démona pystromo-remap.py. To znamená, že si můžeme zvolit specifická nastavení pro různé aplikace. Konfiguruje se to v souboru ~/.config/pystromo/monitor.conf, příp. v souboru předaném při spuštění démona: pystromo-mon.py -c soubor — takovýcho souborů můžeme opět předat více. Pozoruhodný je také argument -a, který způsobí, že démon sleduje procesy všech uživatelů. A samozřejmě nechybí argument -v s obvyklým významem.

    Pravděpodobně budeme chtít spustit Pystromo při každém přihlášení či startu grafického prostředí, takže se podle toho zařídíme.

    Konfigurace

    link

    Nejprve k nastavení pystromo-mon.py — ukázkový konfigurační soubor je config/monitor.conf a obsahuje následující pravidla:

    *=config/test.map
    kcalc=config/saitek-p2500.map
    kcalc=config/n50.map
    

    Myslím, že význam je zřejmý. První řádek způsobí, že se v každém případě pro přemapování použije konfigurační soubor config/test.map. Další řádky pak říkají, že po dobu běhu procesu (zde se jménem kcalc) poběží navíc pystromo-remap.py s konfigurací ze souborů config/saitek-p2500.map, resp. config/n50.map.

    Nakonec ale to nejzajímavější, tedy konfigurace samotného přemapování (omlouvám se za podivné počeštění, ale stručné a přitom výstižné synonymum mě nenapadlo). V souboru config/test.map najdeme celou řadu příkladů, zde uvedu stručnou kuchařku.

    Nejprve musíme definovat zařízení, která nás budou zajímat — přitom budeme potřebovat nejlépe výstup příkazu lsusb. Na začátku konfiguračního souboru tedy uvedeme blok (může jich být i více) jako následující:

    # Nostromo n52te
    [Device:n52te]
    vendor=0x050d
    product=0x0200
    

    Na prvním řádku je komentář pro snazší orientaci, nás bude zajímat až to další. Na druhém řádku zařízení přiřazujeme jméno n52te, pomocí nějž k němu budeme posléze přistupovat. Na dalších dvou řádcích specifikujeme, podle čeho se má zařízení identifikovat — viz výstup lsusb: Bus 005 Device 003: ID 050d:0200 Belkin Components (číslo před dvojtečkou označuje výrobce, číslo za ní konkrétní model; 0x přidáváme do konfiguračního souboru proto, že jde o čísla v šestnáctkové soustavě).

    Dále konfigurační soubor obsahuje bloky uvozené řádkem [Map:zařízení], kde zařízení nahradíme jménem, které jsme zařízení přiřadili (viz např. [Device:n52te] výše), nebo ho necháme prázdné, pak se následující přemapování budou vztahovat na všechna zařízení (specifikovaná výše v konfiguračním souboru).

    Tyto bloky obsahují samotná pravidla pro přemapování. Ta mají obecně tvar dvojic klávesa:cíl, kde

    • část vlevo je kód, který vrací hardwarová klávesa, resp. jméno, které ho zastupuje — kód zjistíme např. z výstupu programu showkey, odpovídající jméno vyhledáme v souboru lib/constants.py;
    • dvojtečka může být nahrazena znakem "rovná se" a plní funkci oddělovače;
    • pravá část udává, na co se klávesa přemapuje, jak se bude hlásit v systému — opět jde obecně o konstanty ze souboru lib/constants.py.

    Například můžeme chtít, aby se klávesa Caps Lock chovala jako Ctrl. Docílíme toho řádkem KEY_CAPSLOCK:KEY_LEFTCTRL. To je docela jednoduché, ale Pystromo umožňuje i složitější záležitosti — několik příkladů:

    KEY_CAPSLOCK, KEY_BACKSPACE:KEY_LEFTCTRL
    Caps Lock a Backspace se budou chovat jako Ctrl
    KEY_LEFTMETA, KEY_RIGHTMETA:
    deaktivujeme obě klávesy Windows
    KEY_LEFTSHIFT + KEY_RIGHTSHIFT:KEY_CAPSLOCK
    současné stisknutí obou kláves Shift bude znamenat Caps Lock
    KEY_LEFTMETA:KEY_LEFTALT + KEY_F2
    levá klávesa Windows se bude chovat jako stisknutí levé klávesy Alt a F2 současně
    KEY_RIGHTMETA:KEY_LEFTALT + KEY_F2. KEY_RIGHTMETA
    pravá klávesa Windows se bude cyklicky chovat jako stisknutí levé klávesy Alt a F2 současně (pro liché stisky) nebo pravá klávesa Windows (pro sudé stisky) — podstatná je tečka mezi jednotlivými výrazy
    KEY_EJECTCD:KEY_LEFTSHIFT + KEY_A, KEY_H, KEY_O, KEY_J, KEY_LEFTSHIFT + KEY_1
    klávesa vysunutí mechaniky vypíše "Ahoj!" (resp. postupně zašle kódy odpovídající uvedeným klávesám — pak záleží na rozvržení kláves, tedy na české QWERTZ (oproti americké QWERTY) by se v tomto případě vypsalo "Ahoj1")
    KEY_EJECTCD:KEY_LEFTSHIFT + KEY_A, 1000, KEY_H, 1000, KEY_O, 1000, KEY_J, 1000, KEY_LEFTSHIFT + KEY_1
    klávesa vysunutí mechaniky vypíše "Ahoj!" jako v předchozím příkladu, ovšem se sekundovými pauzami mezi znaky
    REL_WHEEL<=KEY_DOWN
    točení kolečkem "k sobě" se bude chovat jako kurzorová šipka "dolů"
    KEY_RIGHTALT:KEY_LEFTSHIFT+2000
    stisknutí pravé klávesy Alt bude znamenat podržení levé klávesy Shift po dobu dvou sekund

    Další příklady najdete v souboru config/test.map — zahrnují např. rozsvícení informačních diod (Num Lock, Caps Lock apod.) nebo manipulaci s osami joysticku, ovšem ani jedno jsem nemohl vyzkoušet, protože jsem na to (a) neměl k dispozici hardware, nebo (b) mi to nefungovalo. Zajímavé je reálné využití Pystromo k umožnění ovládání Google Earth pomocí ovladače (gamepadu) z PlayStation 3.

    Ovšem Pystromo není bez chyby. Např. pokus o jakékoliv přemapování tlačítek trackballu Logitech TrackMan Marble mi způsobí zaseknutí kurzoru nebo pokud se pokouším nastavit cokoliv, aby to fungovalo jako kolečko myši, dočkám se posouvání pouze jedním směrem, nikoliv oběma.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Fluttershy, yay! avatar 2.2.2012 00:06 Fluttershy, yay! | skóre: 81 | blog:
    Rozbalit Rozbalit vše Re: Pystromo - šikovné (pře)mapování kláves

    A jedna praktická ukázka:

    # apple-aluminium.map
    
    # Apple, Inc. Aluminum Mini Keyboard (ISO)
    [Device:apple-aluminium]
    vendor=0x05ac
    product=0x021e
    
    [Map:apple-aluminium]
    # swap right Meta and AltGr
    KEY_RIGHTMETA:KEY_RIGHTALT
    KEY_RIGHTALT:KEY_RIGHTMETA
    
    # pseudo-big-ass Enter instead of ISO
    KEY_BACKSLASH:KEY_ENTER
    # move backslash to the corner (Eject)
    KEY_EJECTCD:KEY_BACKSLASH
    # pseudo-ANSI left Shift instead of that ISO cripple
    KEY_102ND:KEY_LEFTSHIFT

    a pak

    $ ./pystromo-remap.py -m apple-aluminium.map
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.