mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:27:35 +00:00
Virtual consoles kinda work!
We now make three VirtualConsoles at boot: tty0, tty1, and tty2. We launch an instance of /bin/sh in each one. You switch between them with Alt+1/2/3 How very very cool :^)
This commit is contained in:
parent
68739dc43e
commit
7a7956a595
24 changed files with 251 additions and 103 deletions
|
@ -19,17 +19,25 @@ public:
|
|||
|
||||
private:
|
||||
// ^KeyboardClient
|
||||
void onKeyPress(byte) override;
|
||||
virtual void onKeyPress(byte) override;
|
||||
|
||||
// ^ConsoleImplementation
|
||||
void onConsoleReceive(byte) override;
|
||||
virtual void onConsoleReceive(byte) override;
|
||||
|
||||
void onChar(byte);
|
||||
// ^TTY
|
||||
virtual void onTTYWrite(byte) override;
|
||||
virtual String ttyName() const override;
|
||||
|
||||
void onChar(byte, bool shouldEmit);
|
||||
|
||||
byte* m_buffer;
|
||||
unsigned m_index;
|
||||
bool m_active { false };
|
||||
|
||||
void scrollUp();
|
||||
void setCursor(unsigned row, unsigned column);
|
||||
void putCharacterAt(unsigned row, unsigned column, byte ch);
|
||||
|
||||
void escape$H(const Vector<unsigned>&);
|
||||
void escape$J(const Vector<unsigned>&);
|
||||
void escape$m(const Vector<unsigned>&);
|
||||
|
@ -56,6 +64,4 @@ private:
|
|||
EscapeState m_escState { Normal };
|
||||
Vector<byte> m_parameters;
|
||||
Vector<byte> m_intermediates;
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue