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 13:11 | Nová verze

    Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.

    Ladislav Hagara | Komentářů: 0
    dnes 05:44 | Nová verze Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.

    Ladislav Hagara | Komentářů: 3
    včera 23:15 | Nová verze

    AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.

    Max | Komentářů: 2
    včera 22:33 | IT novinky

    Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.5 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 3
    včera 13:55 | IT novinky

    Rodina jednodeskových počítačů Orange Pi se rozrostla (𝕏) o Orange Pi 6 Plus.

    Ladislav Hagara | Komentářů: 10
    včera 13:33 | IT novinky

    Na Humble Bundle běží akce Humble Tech Book Bundle: All Things Raspberry Pi by Raspberry Pi Press. Se slevou lze koupit elektronické knihy od nakladatelství Raspberry Pi Press a podpořit Raspberry Pi Press, Raspberry Pi Foundation North America nebo Humble.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Humor

    Přidaný režim autonomního řízení vozidel Tesla Mad Max je dostupný pro vybrané zákazníky v programu EAP (Early Access Program). Nový režim je na silnici agresivnější, častěji mění pruhy a ne vždy dodržuje rychlostní limity. Agentura JPP spekuluje, že v Česku by se mohl nový režim namísto Mad Max jmenovat Mad Turek...

    karkar | Komentářů: 24
    včera 04:00 | Nová verze

    Byla vydána nová verze 9.18 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Nově také pro NanoPi R3S, R3S LTS, R76S a M5. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (20%)
     (20%)
     (22%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 256 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    Rozcestník

    HP nx9020 a multimediální klávesy

    20.7.2005 05:51 | Přečteno: 3393× | HP Compaq nx9020 | poslední úprava: 9.9.2005 22:45

    Chcete rozchodit všechny speciální klávesy na vašem notebooku HP nx9020, na kernelu 2.4 či 2.6? Chcete to udělat přes XFree86 a vyhnout se bastlům typu lineakd? Pak čtěte dále ...

    PROBLÉM

    Máme notebook, na jádru 2.6 se nám detekují pomocí xev jen některé klávesy (ty zvukové na boku počítače), řádka tlačítek na vrchu nejeví zájem o spolupráci.

    KERNEL

    Nejdřív se tedy přepneme do konzole, a tlačítka řádně promačkáme. Na konzoli dostaneme (či pomocí dmesg vyvoláme) hlášky tohoto typu:

    atkbd.c: Unknown key pressed (translated set 2, 
             code 0x9e on isa0060/serial)
    atkbd.c: Use 'setkeycodes e01e <keycode>' 
             to make it known.

    Poslechneme tedy a učiníme tak pro všechny speciální klávesy, které chybu hlásí. Patřičné keycody naleznete v /usr/include/linux/input.h. Protože se při každém bootu musí keykody nastavovat znovu, udělal jsem si malý init skript, který to provede za mne. Je sestaven v duchu Debianu, a není vůbec složitý:

    #! /bin/sh
    # sets up multimedia keys for HP nx9020 notebook under 2.6.x kernels
    
    N=/etc/init.d/keyboard
    
    set -e
    
    case "$1" in
      start|force-reload)
    	echo -n "Configuring keyboard: setkeycodes"
    	setkeycodes e01e 155 # mail button
    	setkeycodes e01a 217 # search button
    	setkeycodes e023 150 # browser button
    	setkeycodes e00a 148 # lock button
    	setkeycodes e031 138 # help button
    	setkeycodes e039 142 # Fn+F12 Sleep
    	# volume side-buttons seem to work out-of-box
    	;;
      stop|reload|restart)
    	;;
      *)
    	echo "Usage: $N {start|stop|restart|force-reload}" >&2
    	exit 1
    	;;
    esac
    
    exit 0
    

    Skript stačí spustit jednou při startu systému, například nalinkováním do /etc/rc.S. Skript spustíme, a od té chvíle by nám všechny klávesy měly posílat keycody, s kterými lze v Xkách dále pracovat. Celý první krok lze u kernelu 2.4 vynechat, protože klávesy jsou rozpoznány bez problémů.

    XF86Config-4

    Nastavení klávesnice v Xkách je záležitostí mnoha nepřehledných konfiguračních souborů. Především jde o sekci InputDevice v /etc/XF86Config-4:

    Section "InputDevice"
    	Identifier	"HP nx9020 Keyboard"
    	Driver		"keyboard"
    	Option		"CoreKeyboard"
    	Option "XkbLayout"   "us,cz_qwerty"
    	Option "XkbModel"    "hpnx26"
    	Option "XkbRules"    "xfree86"
    	Option "XkbOptions"  "grp:shift_toggle,altwin:super_win,altwin:menu"
    EndSection

    V tomto případě máme nastaveny dvě skupiny, anglickou a českou. Model klávesnice (zde hpnx26) si musíme ovšem vytvořit sami, protože Xfree86 standardně o naší klávesnici neví, a žádná z nabízených na ní nepasuje. Options nastavují přepínání klávesnice pomocí shiftů, mapují Win klávesu na Super_L (nevím proč, ale mapování na Meta_L funguje pouze u kernelu 2.4), a z menu klávesy je Menu. Indikaci aktuální skupiny Scrollock LEDkou jsem nenastavil, protože notebook žádnou nemá.

    XFree86 model klávesnice

    Zvolil jsem cestu přidání vlastní definice klávesnice do souboru /etc/X11/xkb/symbols/inet, kde se už mnoho podobných klávesnic nachází. Definice vypadá následovně:

    partial alphanumeric_keys
    xkb_symbols "hpnx26" {
    
        // Describes the multimedia buttons on HP nx9020 notebook under 2.6 kernel
    
        name[Group1]= "Hewlett-Packard nx9020 kernel26";
        key <I1F>	{	[ XF86ScreenSaver	]	};
        key <I20>	{	[ XF86AudioMute		]	};
        key <I2E>	{	[ XF86AudioLowerVolume	]	};
        key <I30>	{	[ XF86AudioRaiseVolume	]	};
        key <I32>	{	[ XF86WWW		]	};
        key <I5F>	{	[ XF86Standby		]	};
        key <I65>	{	[ XF86Search		]	};
        key <I6C>	{	[ XF86Mail		]	};
        key <I75>	{	[ Help			]	};
    };

    Předtím, než tento záznam vytvoříte, musíte zjistit ty hexadecimální kody, které XFree používá. Pusťte tedy xev, promačkejte klávesy a zjistěte keycody. To že kernel nastavil klávesám jiné keycody, než které jste pracně definovali, tomu se nedivte, kernel 2.6 se rád chová jako prase. Keycody si poznamenejte, a následně vyhledejte jejich hexadecimální protějšky v /etc/X11/xkb/keycodes/xfree86. pro kernel 2.4 budou hexadecimální hodnoty většiny kláves jiné. Finální řešení tedy nebude fungovat pod oběma řadami zároveň.

    Symbolická jména kláves naleznete v /usr/lib/X11/XKeysymDB. Zpravidla se používají jména začínající na XF86- inspirujte se u definic ostatních klávesnic.

    Klávesnici máme definouvanou, zbývá ji už jen připsat do /etc/X11/xkb/rules/xfree86, do seznamu internetových klávesnic $inetkbds. Restartujte Xka, a v xevu se ujistěte, že vám všchny klávesy dávají symbolická jména, která jste chtěli. Pokud ano, máte vyhráno a můžete už v libovolné aplikaci, window manageru či desktopovém prostředí klávesy vesele přiřazovat různým funkcím.

    DISCLAIMER

    Toto si píšu pro sebe, abych to po celonočním laborování nezapomněl. Patrně to bude fungovat i vám, ale ruku do ohně za to nedám. Řešení typu lineak odmítám pouze z ideologických důvodů. To, že lze cíle dosáhnout i jednodušší cestou je možné, a nikomu to upírat nehodlám. Termíny klávesová mapa, skupina, keycody, scankody, symboly atd. mávám dle libosti, páč tomu prd rozumím.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    20.7.2005 11:23 Jiri Bajer | skóre: 34 | blog: Sarimuv koutek | Praha
    Rozbalit Rozbalit vše Pribuzny zaznam
    20.7.2005 11:32 deleted | skóre: 3 | blog: pnojmatika
    Rozbalit Rozbalit vše pěkné
    Zdravím, neznáte náhodou odpověď na tento dotaz? Domnívám se, že to nejde. Nicméně dokázat to neumím :-)
    deleted
    Valoun avatar 20.7.2005 17:25 Valoun | skóre: 30 | blog: Psavec | Středočeský kraj
    Rozbalit Rozbalit vše Re: pěkné
    Netuším, ale vzhledem k tomu jak neskutečně složité je rozjet i takovou pitomost jako je pouhý výstup na monitor... tak bych řekl že ne. Ale bylo by to užitečný.
    10.9.2005 20:32 Zdeněk Hurák | skóre: 7
    Rozbalit Rozbalit vše Re: pěkné
    Jestli jsem neminul nejaky podstatny detail v dotazu, tak jsem si jisty, ze to jde a jedna se o pomerne beznou vec. Jen bych upozornil, ze "nechat si bezet na kazdem monitoru neco jineho" neni uplne ta spravna formulace pozadavku. Jo, ted slovickarim, ale je zkratka lepsi nahlas rict, ze jde jen a jen o to, ze pracovni plocha (logicky display ci monitor) jsou proste roztazeny pres dva fyzicke monitory. Velmi uzitecna vec, zejmena kdyz pri praci mate zaroven otevrenych nekolik oken, a hodi se vam videt jich vice najednou. Resenim je Xinerama (google). Ma vlastni pridana hodnota k teto diskuzi je, ze graficky chipset Intel 852/855 skutecne je dual-head, ale X-ka to zacaly podporovat az od urcite verze. Napriklad, verze v Mdk 10.1 to neumi. Co jsem se natrapil, delal vsechno podle Xinerama Howto, nez jsem se to dozvedel. Nejake zaznamy o tomto jsou i nekde v diskuzich zde. Hodne stesti.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.