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 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
dnes 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
dnes 11:00 | Zajímavý článek

Článek (en) na Mozilla.cz je věnován vykreslování stránek ve Firefoxu. V průběhu roku 2018 by se ve Firefoxu měl objevit WebRender, jenž by měl vykreslování stránek urychlit díky využití GPU.

Ladislav Hagara | Komentářů: 3
dnes 08:22 | Bezpečnostní upozornění

NÚKIB (Národní úřad pro kybernetickou a informační bezpečnost) informuje o zranitelnosti ROCA v procesu generování RSA klíčů, který se odehrává v softwarové knihovně implementované například v kryptografických čipových kartách, bezpečnostních tokenech a dalších hardwarových čipech vyrobených společností Infineon Technologies AG. Zranitelnost umožňuje praktický faktorizační útok, při kterém útočník dokáže vypočítat

… více »
Ladislav Hagara | Komentářů: 2
dnes 01:23 | Zajímavý software

Příspěvek na blogu otevřené certifikační autority Let's Encrypt informuje o začlenění podpory protokolu ACME (Automatic Certificate Management Environment) přímo do webového serveru Apache. Klienty ACME lze nahradit novým modulem Apache mod_md. Na vývoj tohoto modulu bylo uvolněno 70 tisíc dolarů z programu Mozilla Open Source Support (MOSS). K rozchození HTTPS na Apache stačí nově přidat do konfiguračního souboru řádek s ManagedDomain. Minutový videonávod na YouTube [reddit].

Ladislav Hagara | Komentářů: 1
včera 14:15 | Komunita

Daniel Stenberg, autor nástroje curl, na svém blogu oznámil, že obdržel letošní Polhemovu cenu, kterou uděluje Švédská inženýrská asociace za „technologickou inovaci nebo důvtipné řešení technického problému“.

marbu | Komentářů: 9
včera 13:40 | Pozvánky

Cílem Social Good Hackathonu, který se uskuteční 21. a 22. října v Brně, je vymyslet a zrealizovat projekty, které pomůžou zlepšit svět kolem nás. Je to unikátní příležitost, jak představit nejrůznější sociální projekty a zrealizovat je, propojit aktivní lidi, zástupce a zástupkyně nevládních organizací a lidi z prostředí IT a designu. Hackathon pořádá brněnská neziskovka Nesehnutí.

… více »
Barbora | Komentářů: 1
včera 00:44 | Pozvánky

V sobotu 21. října 2017 se na půdě Elektrotechnické fakulty ČVUT v Praze uskuteční RT-Summit – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt.

… více »
Pavel Píša | Komentářů: 8
16.10. 23:44 | Bezpečnostní upozornění

V Linuxu byla nalezena bezpečnostní chyba CVE-2017-15265 zneužitelná k lokální eskalaci práv. Jedná se o chybu v části ALSA (Advanced Linux Sound Architecture).

Ladislav Hagara | Komentářů: 1
16.10. 22:44 | Komunita

Greg Kroah-Hartman informuje na svém blogu, že do zdrojových kódu linuxového jádra bylo přidáno (commit) prohlášení Linux Kernel Enforcement Statement. Zdrojové kódy Linuxu jsou k dispozici pod licencí GPL-2.0. Prohlášení přidává ustanovení z GPL-3.0. Cílem je chránit Linux před patentovými trolly, viz například problém s bývalým vedoucím týmu Netfilter Patrickem McHardym. Více v často kladených otázkách (FAQ).

Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (16%)
 (2%)
 (0%)
 (2%)
 (69%)
 (12%)
Celkem 51 hlasů
 Komentářů: 2, poslední dnes 18:09
    Rozcestník

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

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

    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.