mFrame
載入中...
搜尋中...
無符合項目
ufm::util::Console 類別 參考文件

終端機輸入解析器 更多...

#include <Console.h>

類別ufm::util::Console的繼承圖:
ufm::lang::Object ufm::lang::Updatable ufm::lang::Interface

複合項目

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::Readablereadable (void)
 Get the Readable object.
 
void setEvent (Console::Event *event)
 Set the Event object.
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Object
void * operator new (size_t n)
 使用運算子 new 分配記憶體
 
void * operator new (size_t n, void *p)
 在指定記憶體上調用運算子 new
 
virtual ufm::lang::ObjectgetObject (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::ThreadcurrentThread (void) const
 取得當前執行緒指標
 
virtual int hashcode (void) const
 返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Interface
virtual ~Interface (void)=default
 虛擬析構函式
 

公開屬性

uint32 vEscapedTime
 

詳細描述

終端機輸入解析器

提供鍵盤輸入解析、事件分派與狀態管理。 支援控制鍵、功能鍵、普通鍵的辨識與事件回呼,並可與外部 Readable 資料源整合。 主要用於嵌入式或命令列互動式應用。

列舉型態成員說明文件

◆ KeyControl

enum struct ufm::util::Console::KeyControl : uint8
strong

控制鍵列舉

定義所有常用控制鍵(如 Tab、Enter、Backspace 等),對應 ASCII 控制碼。

◆ KeyFunction

enum struct ufm::util::Console::KeyFunction : uint32
strong

功能鍵列舉

定義常見功能鍵(如 F1~F12、方向鍵、Insert、Delete 等),對應 VT100/ANSI 編碼。

建構子與解構子說明文件

◆ Console()

ufm::util::Console::Console ( ufm::lang::Readable & readable,
Console::Event * event = nullptr )
noexcept

建構 Console 物件

參數
readable可讀取資料來源
event鍵盤事件處理器

函式成員說明文件

◆ operator ufm::lang::Readable &()

ufm::util::Console::operator ufm::lang::Readable & ( void )
inline

隱式轉型為 ufm::lang::Readable&

允許 Console 物件可直接作為 Readable 介面使用,便於資料讀取整合。

傳回值
內部 ufm::lang::Readable 物件參考

◆ readable()

ufm::lang::Readable & ufm::util::Console::readable ( void )
inline

Get the Readable object.

傳回值
ufm::lang::Readable&

◆ setEvent()

void ufm::util::Console::setEvent ( Console::Event * event)
inline

Set the Event object.

參數
event

◆ update()

virtual void ufm::util::Console::update ( void )
overridevirtual

更新方法

當系統需要更新物件狀態時被呼叫, 實現類應在此方法中進行必要的狀態更新邏輯。

實作 ufm::lang::Updatable.


此類別(class) 文件是由下列檔案中產生: