常用的有两个WindowKeyPressFcn和WindowKeyReleaseFcn,分别表示按下按键和释放按键的响应函数,两者调用形式上是一样的。
以WindowKeyPressFcn为例,按键响应无论当前焦点在figure上还是控件上,这一点和鼠标响应有所不同;它的响应函数也需要至少两个参数,发生按键的figure和以事件数据结构,事件数据结构中包含了按键的各种信息,如下
意义分别为
Character表示按键实际会显示的字符,如shift+k,则此值为K,只按下shift,则此值为空;
Modifier是一个元胞类型,包含所按所有修饰键的名字,如按下ctrl+shift+a,则此值为{'shift' ,'control'};
Key表示按键的名称,如k,a,multiply,delete等。
要注意,由于不可能同时按下两个键,所以多按键是挨个响应的,如按下ctrl+shift+a,
************press
evt =
Character: ''
Modifier: {'control'}
Key: 'control'
************