FBB::OneKey(3bobcat) | One keystroke input | FBB::OneKey(3bobcat) |
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¶
- 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¶
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.06.02-x.dsc: detached signature;
- o
- bobcat_6.06.02-x.tar.gz: source archive;
- o
- bobcat_6.06.02-x_i386.changes: change log;
- o
- libbobcat1_6.06.02-x_*.deb: debian package containing the libraries;
- o
- libbobcat1-dev_6.06.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).
2005-2024 | libbobcat-dev_6.06.02 |