Provided by: libbobcat-dev_6.02.02-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  Exception  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.

       Copy and move constructors (and assignment operators) 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.

EXAMPLE

       /*
                                     driver.cc
       */

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

       using namespace std;
       using namespace FBB;

       int main()
       {
           try
           {
               OneKey onekey;

               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 (exception const &e)
           {
               cout << e.what() << endl;
               return 1;
           }
       }

FILES

       bobcat/onekey - defines the class interface

SEE ALSO

       bobcat(7), tty(3bobcat)

BUGS

       None Reported.

BOBCAT PROJECT FILES

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       o      bobcat_6.02.02-x.dsc: detached signature;

       o      bobcat_6.02.02-x.tar.gz: source archive;

       o      bobcat_6.02.02-x_i386.changes: change log;

       o      libbobcat1_6.02.02-x_*.deb: debian package containing the libraries;

       o      libbobcat1-dev_6.02.02-x_*.deb: debian package containing  the  libraries,  headers
              and manual pages;

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).