🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12267

Re: c++ - ncurses - getch

#12267
From: Staf Wagemakers
Date: Sat, 24 Nov 2001 19:00
59 lines
2235 bytes
Michael De Nil wrote:
> ik gebruik in mijn proggie volgende functie om te bepalen op welke F-key
> werd gedrukt (F1 -> F12)
> 
>     invoer=getch();
> 
> 
> dit werkt goed (F1 = 9 -> F12 = ...) maar enter geeft dezelfde waarde terug
> als F5 (13) & dat is dus niet de bedoeling (aangezien alles wat niet F-keys
> zijn moet genegeerd worden)
> 
> iemand die raad weet plz ?

(n)curses heeft speciale macros om speciale karakters zoals funktietoetsen, 
pijltjes toetsen, PageUp enz. te detecteren. voor funktietoetsen kan je
de macro KEY_F(nr) gebruiken.

het volgende programmaatje is hier een voorbeeld van:

#include <curses.h>
main()
{
int i;
initscr();
cbreak();
noecho();
keypad(stdscr,TRUE);
printw("Typ 'X' om te stoppen\n");
while (i!='X') {
i=getch();
switch(i) {
        case KEY_LEFT:
                printw("<-");
                break;
        case KEY_RIGHT:
                printw("->");
                break;
        case '\n':
                printw("ret");
                break;
        case KEY_F(5):
                printw("F5");
                break;
        case KEY_F(12):
                printw("F12");
                break;
        default:
                printw("%c",i);
	}
   }
endwin();
}


-- 
Staf Wagemakers

email      : stafwag@f2s.com
homepage   : http://www.stafwag.f2s.com
Technical Details
Message-ID: <3bffee51$0$24505$4d4efb8e@news.be.uu.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsfeed.wirehub.nl!surfnet.nl!bnewspeer01.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.be.uu.net!not-for-mail
References: <flQL7.51137$XM4.3084@afrodite.telenet-ops.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,d14397466c143821
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-11-24 11:00:35 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!isdnet!newsfeed.wirehub.nl!surfnet.nl!bnewspeer01.bru.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.be.uu.net!not-for-mail
Newsgroups: be.comp.programming
From: Staf Wagemakers <stafwag@f2s.com>
Subject: Re: c++ - ncurses - getch
References: <flQL7.51137$XM4.3084@afrodite.telenet-ops.be>
Organization: Debian GNU/Linux (woody)
User-Agent: slrn/0.9.7.2 (Linux)
Date: 24 Nov 2001 19:00:33 GMT
Lines: 59
Message-ID: <3bffee51$0$24505$4d4efb8e@news.be.uu.net>
NNTP-Posting-Host: uu212-190-114-162.unknown.uunet.be
X-Trace: 1006628433 news.be.uu.net 24505 212.190.114.162
X-Complaints-To: abuse@be.uu.net