bionic (3) onekey.3bobcat.gz

Provided by: libbobcat-dev_4.08.02-2build1_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.  The  copy
              constructor (and the overloaded assignment 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.

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.

DISTRIBUTION FILES

       o      bobcat_4.08.02-x.dsc: detached signature;

       o      bobcat_4.08.02-x.tar.gz: source archive;

       o      bobcat_4.08.02-x_i386.changes: change log;

       o      libbobcat1_4.08.02-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.08.02-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’.

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

AUTHOR

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