Visual Servoing Platform  version 3.5.0 under development (2022-02-15)
vpKeyboard Class Reference

#include <visp3/io/vpKeyboard.h>

Public Member Functions

 vpKeyboard ()
 
virtual ~vpKeyboard ()
 
int kbhit ()
 
int getchar ()
 

Detailed Description

Keybord management under unix (Linux or OSX). This class is not available under windows.

Gets a key from the keyboard without waiting for the "Enter" key.

Warning
The key that was pressed is only detected if the terminal where the binary was launched is active.
vpKeyboard keyboard; // Turn on keyboard raw mode
int c;
while (...) {
...
if (keyboard.kbhit()) { // Detect if a key was pressed
c = keyboard.getchar (void); // Get the pressed key
if (c == 'q' || c == 'Q') {
break; // Quit the while()
}
...
}
}
// Keyboard raw mode is turned off by the vpKeyboard destructor
Examples:
keyboard.cpp, and keyboardControlBebop2.cpp.

Definition at line 85 of file vpKeyboard.h.

Constructor & Destructor Documentation

◆ vpKeyboard()

vpKeyboard::vpKeyboard ( )

Activates the raw mode to read keys in an non blocking way.

Definition at line 52 of file vpKeyboard.cpp.

◆ ~vpKeyboard()

vpKeyboard::~vpKeyboard ( )
virtual

Stops the raw mode.

Definition at line 57 of file vpKeyboard.cpp.

Member Function Documentation

◆ getchar()

int vpKeyboard::getchar ( )

Get the hit key. kbhit() indicates if a key was hitten.

Examples:
keyboard.cpp, and keyboardControlBebop2.cpp.

Definition at line 63 of file vpKeyboard.cpp.

◆ kbhit()

int vpKeyboard::kbhit ( )
Returns
1 : if a key was hit.
Examples:
keyboard.cpp, and keyboardControlBebop2.cpp.

Definition at line 75 of file vpKeyboard.cpp.