diff options
Diffstat (limited to 'src/btop_input.hpp')
-rw-r--r-- | src/btop_input.hpp | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/btop_input.hpp b/src/btop_input.hpp new file mode 100644 index 0000000..901183b --- /dev/null +++ b/src/btop_input.hpp @@ -0,0 +1,47 @@ +/* Copyright 2021 Aristocratos (jakob@qvantnet.com) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +indent = tab +tab-size = 4 +*/ + +#pragma once + +#include <string> + +/* The input functions relies on the following std::cin options being set: + cin.sync_with_stdio(false); + cin.tie(NULL); + These will automatically be set when running Term::init() from btop_tools.cpp +*/ + +//* Functions and variables for handling keyboard and mouse input +namespace Input { + + //* Last entered key + extern std::string last; + + //* Poll keyboard & mouse input for <timeout> ms and return input availabilty as a bool + bool poll(int timeout=0); + + //* Get a key or mouse action from input + std::string get(bool clear = false); + + //* Wait until input is available + void wait(bool clear=false); + + //* Clears last entered key + void clear(); + +}
\ No newline at end of file |