key

std.terminal.key

def KeyKind

pub def KeyKind: u8

Key 持有的变体类型

val KIND_NONE

pub val KIND_NONE:    KeyKind = 0

val KIND_BYTE

pub val KIND_BYTE:    KeyKind = 1

val KIND_SPECIAL

pub val KIND_SPECIAL: KeyKind = 2

def Special

pub def Special: u8

特殊(非字节)按键

val KEY_UP

pub val KEY_UP:    Special = 0

val KEY_DOWN

pub val KEY_DOWN:  Special = 1

val KEY_LEFT

pub val KEY_LEFT:  Special = 2

val KEY_RIGHT

pub val KEY_RIGHT: Special = 3

rec Key

pub rec Key;

单个解码的按键事件

kind:哪个字段是有意义的 byte:当 kind == KIND_BYTE 时的字节值 special:当 kind == KIND_SPECIAL 时的特殊按键

fun key_none

pub fun key_none() Key;

表示没有按键等待的 Key

fun key_byte

pub fun key_byte(b: u8) Key;

持有普通字节的 Key

fun key_special

pub fun key_special(s: Special) Key;

持有特殊(非字节)按键的 Key

fun is_none

pub fun is_none(k: Key) bool;

是否没有按键在等待

fun is_byte

pub fun is_byte(k: Key) bool;

按键是否为普通字节

fun is_special

pub fun is_special(k: Key) bool;

按键是否为特殊(非字节)按键