Provided by: libbobcat-dev_2.20.01-1_amd64 bug

NAME

       FBB::OneKey - Single keystroke input, not requiring `Return’

SYNOPSIS

       #include <bobcat/onekey>
       Linking option: -lbobcat

DESCRIPTION

       OneKey  objects  may  be  used  to  realize `direct keyboard input’: a pressed key becomes
       available without the need for pressing  Enter.  The  characters  are  obtained  from  the
       standard input stream. Direct key entry remains in effect for as long as the OneKey object
       exists. Once the object is destroyed the standard input stream will return to its  default
       mode of operation, in which input is `confirmed’ by a newline character.

NAMESPACE

       FBB
       All  constructors,  members,  operators  and manipulators, mentioned in this man-page, are
       defined in the namespace FBB.

INHERITS FROM

       -

ENUMERATION

       The OneKey::Mode enumeration is used to control echoing of returned characters. It has two
       values:

       o      OFF: returned characters are not echoed to the standard output stream;

       o      ON: returned characters are echoed to the standard output stream.

CONSTRUCTORS

       o      OneKey(OneKey::Mode state = OneKey::OFF):
              This   constructor  initializes  the  OneKey  input  object.  By  default,  entered
              characters are not echoed. By constructing the object with the OneKey::ON argument,
              entered characters are echoed to the standard output stream.

              This  construct  throws  an  Errno  exception  if  it  not  properly  complete. The
              constructor may fail for the following reasons:

       o      the standard input stream is not a tty (e.g., when the  standard  input  stream  is
              redirected to a file);

       o      the current state of the standard input stream can’t be determined;

       o      the  standard  input stream’s state can’t be changed to the `direct keyboard input’
              mode.  The copy constructor (and  the  overloaded  assignement  operator)  are  not
              available.

MEMBER FUNCTIONS

       o      int get() const:
              Returns  the  next  character  from the standard input stream, without the need for
              pressing Enter.

       o      void setEcho(OneKey::Mode state):
              Changes the echo-state of the OneKey object. The argument may be either  OneKey::ON
              or OneKey::OFF.

       o      void verify() const:
              Obsoleted, will be removed in a future Bobcat release.

EXAMPLE

       /*
                                     driver.cc
       */

       #include <iostream>
       #include <string>
       #include <bobcat/onekey>

       using namespace std;
       using namespace FBB;

       int main()
       {
           try
           {
               OneKey onekey;
               onekey.verify();

               cout << "Usage: 1: next chars are echoed, 0: no echo, q: quits\n";

               while (true)
               {
                   char c;

                   cout << "ready...\n";
                   cout << "Got character ’" << (c = onekey.get()) << "’\n";

                   switch (c)
                   {
                       case ’1’:
                           onekey.setEcho(OneKey::ON);
                       break;

                       case ’0’:
                           onekey.setEcho(OneKey::OFF);
                       break;

                       case ’q’:
                       return 0;
                   }
               }
           }
           catch (Errno const &e)
           {
               cout << e.why() << endl;
               return e.which();
           }
       }

FILES

       bobcat/onekey - defines the class interface

SEE ALSO

       bobcat(7)

BUGS

       None Reported.

DISTRIBUTION FILES

       o      bobcat_2.20.01-x.dsc: detached signature;

       o      bobcat_2.20.01-x.tar.gz: source archive;

       o      bobcat_2.20.01-x_i386.changes: change log;

       o      libbobcat1_2.20.01-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_2.20.01-x_*.deb:  debian  package holding the libraries, headers and
              manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT

       This is free software, distributed under the terms  of  the  GNU  General  Public  License
       (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).