matlab:检测KeyPressFcn回调函数中的修饰符+字母

时间:2017-10-01 23:29:48

标签: matlab

如果为图的KeyPressFcn属性分配了回调函数,则在matlab.ui.eventdata.KeyDataCharacter的事件数据(Modifier)结构中可以使用按下的键。 }和Key字段。

Shift + c 将返回具有以下属性的KeyData结构:

    Character: 'C'
    Modifier: {'shift'}
    Key: 'c'

对于 Alt + c ,但这个角色是不可思议的:

    Character: '￧'
    Modifier: {'alt'}
    Key: 'c'

角色的数值为[239, 191, 167]unicode2native(event_data.Character,'UTF-8'))。

同样, Ctrl + c 会返回一个未知字符

    Character: ''
    Modifier: {'control'}
    Key: 'c'

字符(unicode2native)的数值为3

虽然密钥始终可以通过Key结构的KeyData字段获得,但是通过转换返回值,可以通过某种方式从Character字段检索密钥吗?

1 个答案:

答案 0 :(得分:1)

我会说不,基于documentation

  

字符:按下后显示的字符   钥匙或钥匙。角色可以是空的或不可打印的。

     

关键:关键   按下,由键上的(小写)标签标识,或a   描述性词语。

Alt+cCtrl+c不会在屏幕上打印任何内容,因此Character毫无意义。您应该使用Key