darwin

std.terminal.darwin

fun flush_input

pub fun flush_input() Option[str];

丢弃输入队列中未读取的任何内容

ret:成功时为 none,或返回错误

fun is_raw

pub fun is_raw() bool;

原始模式(raw mode)当前是否处于活动状态

fun enable_raw

pub fun enable_raw() Option[str];

将标准输入切换到原始模式 —— 与 terminal.linux.enable_raw 具有相同的语义: 无行缓冲、无本地回显、非阻塞读取(VMIN=0, VTIME=0)。

ret:成功时为 none,或返回错误

fun disable_raw

pub fun disable_raw() Option[str];

恢复 enable_raw 运行之前 tcgetattr 检测到的状态

即使原始模式未处于活动状态也可以安全调用(为空操作)。在成功的 enable_raw 之后,配合使用 fin { terminal.disable_raw(); }

ret:成功时为 none,或返回错误

fun poll_key

pub fun poll_key() Result[key.Key, str];

不阻塞地读取一个原始字节

需要原始模式;真正的读取失败会以 Err 形式呈现,与空队列(Ok(key_none))区分开来。

ret:如果有一个正在等待则为 Ok(byte),如果队列为空则为 Ok(key_none),或者在读取失败时返回错误