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 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 0
    dnes 05:00 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.50.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | Zajímavý software

    Komunita kolem Linux Containers po roce vývoje představila (YouTube) neměnný operační systém IncusOS speciálně navržený pro běh Incusu, tj. komunitního forku nástroje pro správu kontejnerů LXD. IncusOS poskytuje atomické aktualizace prostřednictvím mechanismu A/B aktualizací s využitím samostatných oddílů a vynucuje zabezpečení bootování pomocí UEFI Secure Bootu a modulu TPM 2.0. Postaven je na Debianu 13.

    Ladislav Hagara | Komentářů: 12
    včera 22:44 | IT novinky

    Mozilla začne od ledna poskytovat komerční podporu Firefoxu pro firmy. Jedná se o podporu nad rámec stávající podpory, která je k dispozici pro všechny zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 03:44 | Komunita

    V Bolzanu probíhá konference SFSCON (South Tyrol Free Software Conference). Jean-Baptiste Kempf, zakladatel a prezident VideoLAN a klíčový vývojář VLC media playeru, byl na ní oceněn cenou European SFS Award 2025 udělovanou Free Software Foundation Europe (FSFE) a Linux User Group Bolzano‑Bozen (LUGBZ).

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

    Open-source minimalistický trackball Ploopy Nano byl po modelech modelech Classic a Thumb Trackball také aktualizován. Nová verze Nano 2 používá optický senzor PAW3222 a k původně beztlačítkovému designu přidává jedno tlačítko, které ve výchozí konfiguraci firmwaru QMK přepíná režim posouvání koulí. Sestavený trackball nyní vyjde na 60 kanadských dolarů (bez dopravy a DPH).

    |🇵🇸 | Komentářů: 3
    7.11. 14:22 | Zajímavý článek

    Github publikoval Octoverse 2025 (YouTube), tj. každoroční přehled o stavu open source a veřejných softwarových projektů na GitHubu. Každou sekundu se připojil více než jeden nový vývojář. Nejpoužívanějším programovacím jazykem se stal TypeScript.

    Ladislav Hagara | Komentářů: 0
    7.11. 09:55 | Komunita

    Kit je nový maskot webového prohlížeče Firefox.

    Ladislav Hagara | Komentářů: 17
    7.11. 00:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.5. Přehled novinek s náhledy v oznámení na blogu.

    Ladislav Hagara | Komentářů: 2
    6.11. 23:55 | IT novinky

    Německo zvažuje, že zaplatí místním telekomunikačním operátorům včetně Deutsche Telekom, aby nahradili zařízení od čínské firmy Huawei. Náklady na výměnu by mohly přesáhnout dvě miliardy eur (bezmála 49 miliard Kč). Jeden scénář počítá s tím, že vláda na tento záměr použije prostředky určené na obranu či infrastrukturu.

    Ladislav Hagara | Komentářů: 1
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (47%)
     (18%)
     (17%)
     (22%)
     (15%)
     (21%)
     (15%)
     (16%)
    Celkem 329 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    Rozcestník

    Dotaz: Kam se ukládájí data co uživatel stiskl na klávesnici?

    25.10.2012 01:43 Jakub
    Kam se ukládájí data co uživatel stiskl na klávesnici?
    Přečteno: 909×
    Ahoj. Pokud vytvořím script, který pomocí read čeká na nějaké vstupní data, v mém případě na stisknutí požadované klávesy, stane se to, že po stisknutí se provede požadovaná akce, super, co ale když uživatel stiskne vícekrát tlačítka zasebou? Script zpracovává jeden požadavek podruhém než se zpracují všechny stisknutá tlačítka. Kde je ta fronta toho co všechno uživatel stisknul? Nemůžu ty data v té frontě nějak vysypat/resetnout/vyprázdnit/zabít? Dík

    Odpovědi

    25.10.2012 02:04 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Teoreticky by to šlo, ale kromě ladících programů a malware mě zrovna nenapadá žádná aplikace, kde by se to používalo, nebo mělo nějaký užitek. Opravdu nejde navrhnout aplikace tak, aby jí víc kláves nevadilo?

    P.S. Pokud myslíš read z bashe, tak bude po cestě z klávesnice možná víc než jeden buffer. Zběžně: něco bude v ovladači klávesnice (USB, PS/2, GPIO nebo kotel dalších). Další bude v input subsystému kernelu, tty driveru a možná něco v bashi na stdin (a to nepočítám Xka a překlady rozložení klávesnice).
    25.10.2012 02:20 Jakub
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Ano, jedná se o read v Bash. No ják lépe navrhnout aplikaci nevim když je to v cyklu, a reaguje to na každé stisknutí klávesy..:-(
    25.10.2012 02:26 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Bez znalosti toho, co ta aplikace po přijmutí znaku má udělat, nemůžu radit.
    25.10.2012 11:13 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    read ma parameter -t. read -t0 le otestuje, ci je vstupny buffer neprazdny. Takze ho mozes vycistit cyklom s read -t0 x && read -n1 x a az potom spustit ostry read pre data od usera. Ale nenapada ma, ako to dobre otestovat, pretoze to funguje iba pri citani z terminalu, pipy a pod.
    If you hold a Unix shell up to your ear, you can you hear the C.
    25.10.2012 12:44 Jakub
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Myslel jsi takto? Díky
    while true
    do
       if [[ -t read -t0 le ]]
       then
          read -t0 x && read -n1 x 
       else
          break
       fi
    done
    25.10.2012 14:08 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Skor nejak takto.
    while true; do
        if read -t0 x; then
            read -n1 x 
        else
            break
        fi
    done
    
    # mame cisty buffer
    Ale ci to funguje, to si musi otestovat ten, kto to bude pouzivat. Este mozno to -n1 je tam asi zbytocne - netreba cistit po jednom znaku, moze sa po riadkoch.
    If you hold a Unix shell up to your ear, you can you hear the C.
    21.3.2013 22:50 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Ahoj

    Co znamená to krát/x? Děkuji
    while true; do
        if read -t0 x; then
            read -n1 x 
        else
            break
        fi
    done
    21.3.2013 23:05 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Proměnná, do které se ten znak či řádek načtou. V podstatě to může zde být cokoliv, protože jde jen o vyčištění bufferu.
    21.3.2013 23:25 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    V Bash tam nemusí být vůbec nic, když to stejně nepotřebujeme.
    Josef Kufner avatar 25.10.2012 14:52 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Pointa je v tom, že terminál předává stisky kláves na stdin programu, ale ten stdin je, stejně jako každý jiný souborový proud, opatřen bufferem, kde se můžou namačkané klávesy nahromadit. Obvykle je to vcelku žádoucí, protože se ti neztrácí písmenka.

    Pokud ale chceš od uživatele potvrzení nějaké kritické akce, je vhodné tento buffer vyprázdnit těsně před položením dotazu (viz odpovědi výše). Pokud ale jde o běžné zadávání dat, kašli na to, bude to uživatele otravovat.
    Hello world ! Segmentation fault (core dumped)
    25.10.2012 18:19 Jakub
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Tak mě to teda nefunguje :-( Škoda, už jsem měl docela radost, že se našlo řešení mého problému...
    26.10.2012 10:21 Jakub
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Vážně nikdo neporadí proč to nejde?
    26.10.2012 11:56 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Toto trochu funguje:
    #!/bin/bash
    input1=''
    echo "Input 1:"
    read input1
    
    echo "Write anything:"
    sleep 5
    
    input2=''
    read -t 1 -n 255
    echo "Input 2:"
    read input2
    
    echo "Input 1: ${input1}"
    echo "Input 2: ${input2}"
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    26.10.2012 16:05 Ja
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    Mně funguje:
    set -x; sleep 5; while read -t 0.1 -N 1 aha; do true; done; read -p ">" pokus; echo "'$pokus'"
    
    (to "set -x" způsobuje vypisování příkazů při provádění - vypíná se to "set +x" a na funkci to nemá vliv)
    26.10.2012 19:14 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    > read -t 0.1
    -bash: read: 0.1: invalid timeout specification
    >  read -N 1
    -bash: read: -N: invalid option
    read: usage: read [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [name ...]
    >  read -t 0.1 -N 1
    -bash: read: 0.1: invalid timeout specification
    >  read -t 1 -n 1 −> OK
    
    Toš tak :-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    29.10.2012 08:47 Ja
    Rozbalit Rozbalit vše Re: Kam se ukládájí data co uživatel stiskl na klávesnici?
    hm, asi stará verze shellu
    $ bash --version
    GNU bash, verze 4.2.37(1)-release (i686-redhat-linux-gnu)
    to asi moc neporadím :-(

    Založit nové vláknoNahoru

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

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