![]() |
mFrame
|
終端機輸入解析器 更多...
#include <Console.h>
複合項目 | |
struct | Event |
鍵盤事件處理介面 更多... | |
公開型態 | |
enum struct | KeyControl : uint8 { KEY_SOH = ufm::lang::Character::KEY_SOH , KEY_STX = ufm::lang::Character::KEY_STX , KEY_ETX = ufm::lang::Character::KEY_ETX , KEY_EOT = ufm::lang::Character::KEY_EOT , KEY_ENQ = ufm::lang::Character::KEY_ENQ , KEY_ACK = ufm::lang::Character::KEY_ACK , KEY_BEL = ufm::lang::Character::KEY_BEL , KEY_BS = ufm::lang::Character::KEY_BS , KEY_TAB = ufm::lang::Character::KEY_TAB , KEY_LF = ufm::lang::Character::KEY_LF , KEY_VT = ufm::lang::Character::KEY_VT , KEY_FF = ufm::lang::Character::KEY_FF , KEY_CR = ufm::lang::Character::KEY_CR , KEY_SO = ufm::lang::Character::KEY_SO , KEY_SI = ufm::lang::Character::KEY_SI , KEY_DLE = ufm::lang::Character::KEY_DLE , KEY_DC1 = ufm::lang::Character::KEY_DC1 , KEY_DC2 = ufm::lang::Character::KEY_DC2 , KEY_DC3 = ufm::lang::Character::KEY_DC3 , KEY_DC4 = ufm::lang::Character::KEY_DC4 , KEY_NAK = ufm::lang::Character::KEY_NAK , KEY_SYN = ufm::lang::Character::KEY_SYN , KEY_ETB = ufm::lang::Character::KEY_ETB , KEY_CAN = ufm::lang::Character::KEY_CAN , KEY_EM = ufm::lang::Character::KEY_EM , KEY_SUB = ufm::lang::Character::KEY_SUB , KEY_ESC = ufm::lang::Character::KEY_ESC , KEY_FS = ufm::lang::Character::KEY_FS , KEY_GS = ufm::lang::Character::KEY_GS , KEY_RS = ufm::lang::Character::KEY_RS , KEY_US = ufm::lang::Character::KEY_US , KEY_BACKSPAC = ufm::lang::Character::KEY_BACKSPACE } |
控制鍵列舉 更多... | |
enum struct | KeyFunction : uint32 { KEY_F1 = 0x007E3131 , KEY_F2 = 0x007E3231 , KEY_F3 = 0x007E3331 , KEY_F4 = 0x007E3431 , KEY_F5 = 0x007E3531 , KEY_F6 = 0x007E3731 , KEY_F7 = 0x007E3831 , KEY_F8 = 0x007E3931 , KEY_F9 = 0x007E3032 , KEY_F10 = 0x007E3132 , KEY_F11 = 0x007E3332 , KEY_F12 = 0x007E3432 , KEY_HOME = 0x00007E31 , KEY_INSERT = 0x00007E32 , KEY_DELETE = 0x00007E33 , KEY_END = 0x00007E34 , KEY_PAGE_UP = 0x00007E35 , KEY_PAGE_DOWN = 0x00007E36 , KEY_UP = 0x00000041 , KEY_DOWN = 0x00000042 , KEY_RIGHT = 0x00000043 , KEY_LEFT = 0x00000044 } |
功能鍵列舉 更多... | |
公開方法(Public Methods) | |
Console (ufm::lang::Readable &readable, Console::Event *event=nullptr) noexcept | |
建構 Console 物件 | |
virtual | ~Console (void) override |
解構 Console 物件,釋放資源。 | |
operator ufm::lang::Readable & (void) | |
隱式轉型為 ufm::lang::Readable& | |
virtual void | update (void) override |
更新方法 | |
ufm::lang::Readable & | readable (void) |
Get the Readable object. | |
void | setEvent (Console::Event *event) |
Set the Event object. | |
![]() | |
void * | operator new (size_t n) |
使用運算子 new 分配記憶體 | |
void * | operator new (size_t n, void *p) |
在指定記憶體上調用運算子 new | |
virtual ufm::lang::Object & | getObject (void) override |
取得對應的 Object 物件 | |
void | delay (int milliseconds) const |
延遲指定的毫秒數進行執行緒等待 | |
bool | equals (Object *object) const |
判斷與另一物件是否為相同參照(指標型態比較) | |
bool | equals (Object &object) const |
判斷與另一物件是否為相同參照(參照型態比較) | |
void | wait (void) const |
使當前線程等待直到被通知 | |
bool | wait (int timeout) const |
等待通知或超時 | |
bool | yield (void) const |
讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
int | lock (void) const |
核心鎖定,鎖定期間禁止線程切換 | |
int | unlock (void) const |
核心解鎖 | |
ufm::sys::Thread * | currentThread (void) const |
取得當前執行緒指標 | |
virtual int | hashcode (void) const |
返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
公開屬性 | |
uint32 | vEscapedTime |
終端機輸入解析器
提供鍵盤輸入解析、事件分派與狀態管理。 支援控制鍵、功能鍵、普通鍵的辨識與事件回呼,並可與外部 Readable 資料源整合。 主要用於嵌入式或命令列互動式應用。
|
strong |
控制鍵列舉
定義所有常用控制鍵(如 Tab、Enter、Backspace 等),對應 ASCII 控制碼。
|
strong |
功能鍵列舉
定義常見功能鍵(如 F1~F12、方向鍵、Insert、Delete 等),對應 VT100/ANSI 編碼。
|
noexcept |
建構 Console 物件
readable | 可讀取資料來源 |
event | 鍵盤事件處理器 |
|
inline |
隱式轉型為 ufm::lang::Readable&
允許 Console 物件可直接作為 Readable 介面使用,便於資料讀取整合。
|
inline |
Get the Readable object.
|
inline |
|
overridevirtual |