summaryrefslogtreecommitdiff
path: root/Source/Kernel/VTManager/VirtualTerminal.class.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/VTManager/VirtualTerminal.class.h')
-rw-r--r--Source/Kernel/VTManager/VirtualTerminal.class.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/Source/Kernel/VTManager/VirtualTerminal.class.h b/Source/Kernel/VTManager/VirtualTerminal.class.h
index 6d081ee..6a14080 100644
--- a/Source/Kernel/VTManager/VirtualTerminal.class.h
+++ b/Source/Kernel/VTManager/VirtualTerminal.class.h
@@ -3,6 +3,9 @@
#include <Core/common.wtf.h>
#include <Library/String.class.h>
+#include <TaskManager/Mutex.class.h>
+#include <DeviceManager/Kbd.ns.h>
+#include <Library/Vector.class.h>
struct chr {
u8int color;
@@ -20,6 +23,9 @@ class VirtualTerminal {
u32int m_csrlin, m_csrcol;
+ Mutex m_kbdMutex;
+ Vector<Kbd::keypress_t> m_kbdbuff; //Key press events buffer
+
public:
VirtualTerminal(u32int rows, u32int cols, u8int fgcolor = 7, u8int bgcolor = 0);
~VirtualTerminal();
@@ -48,6 +54,11 @@ class VirtualTerminal {
//inline VirtualTerminal& operator<<(wchar c) { put(c); return *this; }
inline VirtualTerminal& operator<<(s32int i) { writeDec(i); return *this; }
inline VirtualTerminal& operator<<(u32int i) { writeHex(i); return *this; }
+
+ //Keyboard functions
+ void keyPress(Kbd::keypress_t kp); //Called by Kbd:: when a key is pressed
+ Kbd::keypress_t getKeypress(bool show = true, bool block = true); //Block : must we wait for a key to be pressed ?
+ String readLine(bool show = true);
};
#endif