Výsledky 1 až 14 z 14

Téma: [C, linux] - zacyceni klavesy bez psani

  1. #1
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní [C, linux] - zacyceni klavesy bez psani

    Pro getchar() musim neco napsat a pak to odentrovat.
    jak udelat, aby se klavesa nevypisovala, nemuselo se nic entrovat a jak zjistil, ktera to byla?

    Je to asi trivialia, ale..

    PS: Prosim pripadneho odpovidajiciho, aby uvedl, kde tu informaci vzal, nemuzu sehnat zadnou referncni prirucku pro LIN. C..

    Prohledaval jsem celeje adresar /usr/include/ a hledal nakej .h soubor pro praci s klavesnici, neco jako conio.h, ale marne..
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  2. #2
    Senior Member Avatar uživatele mino
    Založen
    08.01.2003
    Bydliště
    Brno
    Věk
    42
    Příspěvky
    879
    Vliv
    270

    Standardní Re: [C, linux] - zacyceni klavesy bez psani

    Citace Původně odeslal KtK
    Pro getchar() musim neco napsat a pak to odentrovat.
    jak udelat, aby se klavesa nevypisovala, nemuselo se nic entrovat a jak zjistil, ktera to byla?

    Je to asi trivialia, ale..

    PS: Prosim pripadneho odpovidajiciho, aby uvedl, kde tu informaci vzal, nemuzu sehnat zadnou referncni prirucku pro LIN. C..

    Prohledaval jsem celeje adresar /usr/include/ a hledal nakej .h soubor pro praci s klavesnici, neco jako conio.h, ale marne..
    Mam taky pocit, ze getch() ci tak niak, pozri si niaku zakladnu prirucku/manual, napr. Herouta I
    Don't have a patent granted for being right. Would love one though!

  3. #3
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní Re: [C, linux] - zacyceni klavesy bez psani

    Citace Původně odeslal mino
    Citace Původně odeslal KtK
    Pro getchar() musim neco napsat a pak to odentrovat.
    jak udelat, aby se klavesa nevypisovala, nemuselo se nic entrovat a jak zjistil, ktera to byla?

    Je to asi trivialia, ale..

    PS: Prosim pripadneho odpovidajiciho, aby uvedl, kde tu informaci vzal, nemuzu sehnat zadnou referncni prirucku pro LIN. C..

    Prohledaval jsem celeje adresar /usr/include/ a hledal nakej .h soubor pro praci s klavesnici, neco jako conio.h, ale marne..
    Mam taky pocit, ze getch() ci tak niak, pozri si niaku zakladnu prirucku/manual, napr. Herouta I
    V zakladni prirucce se pise, ze takovyhle funkce nejsou standardizovane. Jak sis asi precetel v prvni prispevku, zadnou referenci pro C pod linuxem nemam.
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  4. #4

    Standardní

    najprv: standarizovane taketo funkcie nie su preto, lebo Unixy nemozu na vsetkych svojich pripojenych konzolach kontrolovat ci niekto nieco nestlacil, proste len spracuju cely vstup co im pride...

    na Linuxe to vsak ako tak ide (ale prenositelne to teda nebude)
    bud spomenutou funkciou getch() (nachadza sa v curses.h)

    alebo mrkni sem
    http://www.linuxquestions.org/questi...threadid=34027
    AthlonXP 1700+@1900+, Epox 8K3A, Volcano 7+, 512MB DDRAM Apacer PC266 CL2, MSI GeForce4 4200 64MB 280/580, WD 800JB 80GB, IBM 60GXP 40GB, TEAC CD-W516EB, DVD-ROM Toshiba SD-M1612 RegionFree, Soundblaster Audigy, Creative Inspire 5.1 5300, Pinnacle Studio PCTV Pro, HP DeskJet 845C, mys A4Tech WOP-35, Genius SpeedWheel, Asec Perifer ATX

  5. #5
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    curses.h: no such file or directory...

    Zkousel jsem i ten include vynechat a kompilovt a parametrem -lcurses , nepomohlo..
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  6. #6

    Standardní

    Citace Původně odeslal KtK
    curses.h: no such file or directory...
    skus ncurses ... pripadne ak ani to tak si doinstaluj ncurses balicek ...
    je to balik umoznujuci ovladanie konzoly ... okienka a pod.

  7. #7
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    Tak jsem doinstaloval ncurses a:

    program

    Kód:
    #include <stdio.h>
    #include <curses.h>
    
    int main&#40;&#41;
    &#123;
    getch&#40;&#41;;
    return 0;
    &#125;
    vyhodi jen "segmentation fault"
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  8. #8

    Standardní

    Citace Původně odeslal KtK
    Tak jsem doinstaloval ncurses a:

    program

    Kód:
    #include <stdio.h>
    #include <curses.h>
    
    int main&#40;&#41;
    &#123;
    getch&#40;&#41;;
    return 0;
    &#125;
    vyhodi jen "segmentation fault"
    pri kompilacii si dal prepinac -lncurses

  9. #9

    Standardní

    Citace Původně odeslal KtK
    Tak jsem doinstaloval ncurses a:

    program

    Kód:
    #include <stdio.h>
    #include <curses.h>
    
    int main&#40;&#41;
    &#123;
    getch&#40;&#41;;
    return 0;
    &#125;
    vyhodi jen "segmentation fault"
    segmentation fault znamena, ze delas nejaky neopravneny zasah do pameti a ne, ze neni k dispozici knihovna.
    Ta getch() musi neco vracet asi...
    Why use windows, since there is a door?... SlackWare Linux ruleZz - Linux for the subgenius

  10. #10
    Senior Member mince Avatar uživatele KtK
    Založen
    16.10.2002
    Bydliště
    Behind fuc*ing WorkTable Device (Praha zapad)
    Příspěvky
    1 709
    Vliv
    285

    Standardní

    PJ: Dik, to bych jeste vedel.. Zkousel jsem i int i; i = getch(); A porad to samy
    lopo: Si senor..
    Parasite lost, AKA the Girlfriend Mission:The Socka Project sleeps, lets use (her :) Durex! 1GHz in some soltek stuff, Ati rage 128, etc.. (it\'s noisy)
    IMB Thinkpad R31: celer 1.2GHz, 384M RAM, 60GB 5400rpm hitachi, i810 8MB onboard (na praci to staci ;)
    [pro archivni ucely] janina overclockerska poradna (.tar.gz, 1.1MB, otevrete si index.html v browseru podporujicim javascript a frames)

  11. #11

    Standardní

    Citace Původně odeslal KtK
    PJ: Dik, to bych jeste vedel.. Zkousel jsem i int i; i = getch(); A porad to samy
    lopo: Si senor..
    co ti mozem este poradit tak pridaj pri kompilacii -gdb
    a potom to spusti cez gdb
    v tom gdb to potom odkrokuj a malo by ti vypisat kde to havaruje ... pripadne sa pozri ci ti nevytvara core dump subor a ak hej otvor ho v tom gdb

  12. #12

    Standardní

    zhavaruje ti to na radku s getch() , ale jestli z gdb (ci strace) vyctes neco vic nevim...

    me to segmentation nehazi - hazi to pod linuxem s gcc 3.3, ze undefined reference.

    v C nejsem profik, tak proc sem vlastne pisi
    Why use windows, since there is a door?... SlackWare Linux ruleZz - Linux for the subgenius

  13. #13

    Standardní

    Kód:
    #include <stdio.h>
    #include <ncurses.h>
    
    main&#40;&#41;
    &#123;
    int ch;
    
    initscr&#40;&#41;;
    cbreak&#40;&#41;;
    noecho&#40;&#41;;
    
    ch=getch&#40;&#41;;
    printf&#40;"\nstiskl jsi %c\n", ch&#41;;
    
    endwin&#40;&#41;;
    &#125;
    je dobre si precist dokumentci k ncurses specialne fce initscr(), cbreak()/raw(), (no)echo(), endwin(). popr keypad() pro usnadneni identifikace klaves

  14. #14
    Senior Member Avatar uživatele mino
    Založen
    08.01.2003
    Bydliště
    Brno
    Věk
    42
    Příspěvky
    879
    Vliv
    270

    Standardní

    Oau, tak som si dobre pamatal

    (posledne som pichol do cecka dva rocky dozadu )
    Don't have a patent granted for being right. Would love one though!

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •