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 06:00 | Pozvánky

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 154. brněnský sraz, který proběhne v pátek 20. června od 18:00 na zahrádce restaurace Tanganika (Horova 35). V případě nepřízně počasí uvnitř.

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý projekt

Na Humble Bundle lze v rámci akce Humble Book Bundle: Linux Geek by No Starch Press zakoupit elektronické knihy věnované operačnímu systému Linux a open source softwaru od nakladatelství No Starch Press a navíc podpořit charitu. Za 1 dolar a více lze zakoupit 6 elektronických knih, za 8 dolarů a více dalších 6 elektronických knih, za 15 dolarů a více dalších 5 elektronických knih a za 30 dolarů a více další elektronickou knihu navíc.

Ladislav Hagara | Komentářů: 0
včera 01:33 | Komunita

Patrick Volkerding oznámil před pětadvaceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

Ladislav Hagara | Komentářů: 15
16.7. 17:33 | Zajímavý projekt

Na Indiegogo byla spuštěna kampaň na jednodeskový počítač Renegade Elite. Měl by být 4x výkonnější než Raspberry Pi 3 Model B+. Vlastnit jej lze již v září. Aktuální cena je 99 dolarů.

Ladislav Hagara | Komentářů: 14
16.7. 12:44 | Komunita

Od 7. do 10. června proběhla v Berlíně Linux Audio Conference 2018. Na programu byla řada zajímavých přednášek, seminářů a vystoupení. Videozáznamy lze zhlédnout na media.ccc.de.

Ladislav Hagara | Komentářů: 0
16.7. 09:44 | Pozvánky

Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.

xkucf03 | Komentářů: 0
14.7. 22:44 | Nová verze

Bylo oznámeno vydání KDE Frameworks 5.48.0, tj. nové verze aktuálně 72 knihoven rozšířujících multiplatformní framework Qt. Řešena je mimo jiné bezpečnostní chyba CVE-2018-10361 v KTextEditoru zneužitelná k lokální eskalaci práv. Knihovny KDE Frameworks jsou dnes využívány nejenom KDE Plasmou a KDE Aplikacemi.

Ladislav Hagara | Komentářů: 8
14.7. 20:11 | Nová verze

Byl vydán Debian 9.5, tj. pátá opravná verze Debianu 9 s kódovým názvem Stretch. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Předchozí instalační média Debianu 9 Stretch lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 15
13.7. 23:55 | Komunita

V Národní technické knihovně (NTK) je 150 nových počítačů s operačním systémem Linux, konkrétně s linuxovou distribucí Fedora. Do konce prázdnin si na nich lze zahrát počítačovou hru Factorio (Wikipedie). V pondělí 23. 7. proběhne LAN party s vývojáři této hry.

Ladislav Hagara | Komentářů: 0
13.7. 17:33 | Zajímavý software

Fanatical (Wikipedie) má ve slevě řadu počítačových her běžících také na Linuxu. Balíček her Fanatical Strategy Bundle lze koupit za 1,99 eur.

Ladislav Hagara | Komentářů: 1
Jak čtete delší texty z webových stránek?
 (78%)
 (20%)
 (4%)
 (7%)
 (2%)
 (10%)
Celkem 359 hlasů
 Komentářů: 40, poslední 29.6. 10:21
    Rozcestník

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

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

    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: 82 | 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.