From owner-FreeBSD-users-jp@jp.freebsd.org  Sat Sep  1 23:21:02 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA15756;
	Sat, 1 Sep 2001 23:21:02 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from youko-house.ne.jp (kotoiz.youko-house.ne.jp [210.164.243.120])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id XAA15747
	for <FreeBSD-users-jp@jp.freebsd.org>; Sat, 1 Sep 2001 23:21:01 +0900 (JST)
	(envelope-from hirohito@youko-house.ne.jp)
Received: from youshun.hrf.youko-house.ne.jp
	by youko-house.ne.jp (8.9.3/3.7W) with ESMTP id XAA73782;
	Sat, 1 Sep 2001 23:20:59 +0900 (JST)
Message-Id: <200109011420.XAA73782@youko-house.ne.jp>
Date: Sat, 01 Sep 2001 23:20:58 +0900
From: mlu@youko-house.ne.jp
To: FreeBSD-users-jp@jp.freebsd.org
User-Agent: Wanderlust/1.1.1 (Purple Rain) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) MULE/2.3 (SUETSUMUHANA) (based on Emacs 19.34)
MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+010328
X-Sequence: FreeBSD-users-jp 63981
Subject: [FreeBSD-users-jp 63981] [Q] How to use curses keypad
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: mlu@youko-house.ne.jp


curses$B$r;H$C$F$_$h$&$+$J$H;W$$N)$A!"$A$^$A$^$H<B83$7$F$_$?$j(B
$B$7$F$$$k$N$G$9$,!"(Bkeypad$B$r;HMQ$9$k$h$&$K%b!<%I$r@_Dj$9$k$H!"(B
getch$B$G$&$^$/F~NOH=Dj$G$-$J$$%-!<$,$"$k$h$&$G$9!#(B

$B6qBNE*$K$O!"E:IU%F%9%H%W%m%0%i%`$K$F!"(B
$B%U%!%s%/%7%g%s%-!<$N(BF1$B$+$i(BF4$B$^$G!"%F%s%-!<$9$Y$F!"(B
End,Home$B$J$I$N%-!<$,H=Dj$G$-$J$$$h$&$G$9!#(B

$B4D6-$O!"(BFreeBSD 3.4R + KTerm 6.2.0 $B$G$9!#(B

$BAG$N%3%s%=!<%k$G$O!"$&$^$/F0$$$F$$$k$N$G!"(B
curses$B$O0-$/$J$$$H;W$&$N$G$9$,!"$"$H$I$3$+$i(B
$BD4$Y$F$$$$$N$+!"$A$H9T$-5M$^$C$F$$$^$9!#(B

$B$J$K$+>pJs$*;}$A$N$+$?$O!"$$$i$C$7$c$$$^$;$s$+!)(B


// ncurses_keytest.cc
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <ncurses.h>

int main()
{
    initscr();
    cbreak();
    keypad( stdscr, TRUE );
    nodelay( stdscr, TRUE );
    noecho();
    for( int i = 0; i < 200; i++ ) {
	int k = getch();
	if( k == ERR ) {
	    move( 0, 0 );
	    printw( "Counter= %d\r", i );
	} else
	{
	    move( 10, 10 );
	    if( k >= KEY_MIN )
		printw( "FUNCTION KEY %o  ", k );
	    else
		printw( "NORMAL KEY   %c  ", k );
	}
	refresh();
	usleep( 200000 );
    }
    endwin();
}



#curses$B$J$s$F!";~BeCY$l$J$N$+$b!)!)(B

--
$B$R$m$R$H(B
