* Control key with Ncurses
@ 2003-07-03 7:00 Vidya Kotamraju
2003-07-03 7:18 ` Glynn Clements
0 siblings, 1 reply; 4+ messages in thread
From: Vidya Kotamraju @ 2003-07-03 7:00 UTC (permalink / raw)
To: linux-c-programming
Hi all,
I am writing a graphics-based application in Linux by making use of C
and ncurses library.
The application needs that i take two numbers as input ( i make use of
scanw for the same).
However at this point in the program i want the user to obtain the
flexibility of exiting gracefully from the program(by pressing a cntrl
key,like say F5).
Cntrl-D doesnt seem to work with ncurses..
Heres a snippet of the code.....
/*FORM INITIALIZATION*/
my_form = new_form(field);
post_form(my_form);
refresh();
mvprintw(1,8,"NOTE:THE ROW AND COLUMN ARE AS DEFINED IN MATRIXALGEBRA");
mvprintw(2,8,"Enter the row and column coordinates(i and j values):");
mvprintw(3,8,"i and j: ");
scanw("%d %d",&i,&j);
// at this point i want to exit from the program if F5 key is pressed.
Any pointers ?
Regards,
Vidya
--
--------------------------------------------------------------------------
As far as the laws of mathematics refer to reality,they are not certain;
and as far as they are certain, they do not refer to reality.
- Albert Einstein (1879-1955)
--------------------------------------------------------------------------
Kotamraju Vidya
Marine HydroDynamics Lab,
Physical Oceanography Division,
National Institute of Oceanography,
Dona Paula, Goa 403 004, India.
Ph.: +91-832-2456700 *4400 (O)
+91-832-2541756 (R)
e-mail: vidyakr@darya.nio.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Control key with Ncurses
2003-07-03 7:00 Control key with Ncurses Vidya Kotamraju
@ 2003-07-03 7:18 ` Glynn Clements
2003-07-04 10:44 ` Vidya Kotamraju
0 siblings, 1 reply; 4+ messages in thread
From: Glynn Clements @ 2003-07-03 7:18 UTC (permalink / raw)
To: Vidya Kotamraju; +Cc: linux-c-programming
Vidya Kotamraju wrote:
> I am writing a graphics-based application in Linux by making use of C
> and ncurses library.
> The application needs that i take two numbers as input ( i make use of
> scanw for the same).
> However at this point in the program i want the user to obtain the
> flexibility of exiting gracefully from the program(by pressing a cntrl
> key,like say F5).
You need to call keypad() to enable the use of "extended" keys
(funcion keys, arrow keys etc). The various KEY_* macros define the
codes for the extended keys; for function keys, use KEY_F(), e.g.
KEY_F(5) for F5.
> Cntrl-D doesnt seem to work with ncurses..
Control codes should be reported by getch() etc as a code in the range
0 to 31 (e.g. Ctrl-D should be code 4).
--
Glynn Clements <glynn.clements@virgin.net>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Control key with Ncurses
2003-07-03 7:18 ` Glynn Clements
@ 2003-07-04 10:44 ` Vidya Kotamraju
2003-07-04 14:47 ` Glynn Clements
0 siblings, 1 reply; 4+ messages in thread
From: Vidya Kotamraju @ 2003-07-04 10:44 UTC (permalink / raw)
To: linux-c-programming
I had enabled the keypad() along with the other graphics initializations.
Also, Control codes do work with getch().
But what i need to know is how to make use of a control key to exit out
of a scanw input. (As control-D would work with scanf without needing to
make use of getchar)
Regards,
Vidya.
Glynn Clements wrote:
> Vidya Kotamraju wrote:
>
>
>>I am writing a graphics-based application in Linux by making use of C
>>and ncurses library.
>>The application needs that i take two numbers as input ( i make use of
>>scanw for the same).
>>However at this point in the program i want the user to obtain the
>>flexibility of exiting gracefully from the program(by pressing a cntrl
>>key,like say F5).
>>
>
> You need to call keypad() to enable the use of "extended" keys
> (funcion keys, arrow keys etc). The various KEY_* macros define the
> codes for the extended keys; for function keys, use KEY_F(), e.g.
> KEY_F(5) for F5.
>
>
>>Cntrl-D doesnt seem to work with ncurses..
>>
>
> Control codes should be reported by getch() etc as a code in the range
> 0 to 31 (e.g. Ctrl-D should be code 4).
>
>
--
--------------------------------------------------------------------------
As far as the laws of mathematics refer to reality,they are not certain;
and as far as they are certain, they do not refer to reality.
- Albert Einstein (1879-1955)
--------------------------------------------------------------------------
Kotamraju Vidya
Marine HydroDynamics Lab,
Physical Oceanography Division,
National Institute of Oceanography,
Dona Paula, Goa 403 004, India.
Ph.: +91-832-2456700 *4400 (O)
+91-832-2541756 (R)
e-mail: vidyakr@darya.nio.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Control key with Ncurses
2003-07-04 10:44 ` Vidya Kotamraju
@ 2003-07-04 14:47 ` Glynn Clements
0 siblings, 0 replies; 4+ messages in thread
From: Glynn Clements @ 2003-07-04 14:47 UTC (permalink / raw)
To: Vidya Kotamraju; +Cc: linux-c-programming
Vidya Kotamraju wrote:
> I had enabled the keypad() along with the other graphics initializations.
> Also, Control codes do work with getch().
> But what i need to know is how to make use of a control key to exit out
> of a scanw input. (As control-D would work with scanf without needing to
> make use of getchar)
You can't; getstr() (which scanw() uses) won't return until you press
Return/Enter. If you want to be able to interrupt it, you would have
to read the string manually using repeated calls to getch(), then use
sscanf() to parse it.
--
Glynn Clements <glynn.clements@virgin.net>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-07-04 14:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-07-03 7:00 Control key with Ncurses Vidya Kotamraju
2003-07-03 7:18 ` Glynn Clements
2003-07-04 10:44 ` Vidya Kotamraju
2003-07-04 14:47 ` Glynn Clements
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).