FBB::OneKey(3bobcat)

One keystroke input
(libbobcat-dev_4.08.03-x.tar.gz)

2005-2018

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:

CONSTRUCTORS

The copy constructor (and the overloaded assignment operator) are not available.

MEMBER FUNCTIONS

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

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