继续继续。。。
四、键盘事件
这个键盘事件是我个人起的名字,为了方便与其他事件进行区分,为什么要把这一个单独拉出来说呢,因为它的用处实在是太广泛了,基本只要是使用CANoe做一些基本的自动化测试小工具,都会用到它,因此专门列出来说一下。
顾名思义,他就是通过按键触发定义好的自动化函数。
例如,每当在键盘上按按键‘a’,就会发送一帧0x100报文:
message 100 msg;
on key 'a'
{
output(msg);
}
当然,也可以处理键盘信息,然后执行对应的操作:
message 100 msg100;
message 200 msg200;
message 300 msg400;
on key *
{
switch(this)
{
case 'a' : output(msg100); break;
case F10: output(msg200); break;
...
}
}
注意:按键程序不支持按键<ESC>、<F7>、<F8>和<F9>,也就是说这几个键不可作为触发键使用
键盘键值 <-> CAPL代码表示方法
键盘键值 |
CAPL代码中表示 |
<F1> - <F12> (<F7>, <F8> and <F9> are not supported) |
F1 - F12 |
<Shift>+<F1> - <Shift>+<F12> |
shiftF1 - shiftF12 |
<Ctrl>+<F1> - <Ctrl>+<F12> |
ctrlF1 - ctrlF12 |
<Ctrl>+<Page up> / <Ctrl>+<Page down> |
ctrlPageUp / ctrlPageDown |
<Page up> / <Page down> |
PageUp / PageDown |
<End> |
End |
<Home> |
Home |
<Insert> |
InsertKey |
<Delete> |
DeleteKey |
<Left Arrow>, <Right Arrow>, <Up Arrow>, <Down Arrow> |
CursorLeft, CursorRight, CursorUp, CursorDown |
<Ctrl>+<Left Arrow>, <Ctrl>+<Right Arrow>, <Ctrl>+<Up Arrow>, <Ctrl>+<Down Arrow> |
ctrlCursorLeft, ctrlCursorRight, ctrlCursorUp, ctrlCursorDown |
例子
on key 'a' |
执行key 'a'的函数 |
on key ' ' |
执行key ' '的函数 |
on key F1 |
执行key <F1>的函数 |
on key shiftF3 |
执行组合key <Shift>+<F3>的函数 |
on key ctrlF12 |
执行组合key <Ctrl>+<F12>的函数 |
on key PageUp |
执行key <Page up>的函数 |
on key ctrlPageDown |
执行key <Page down>的函数 |
on key Home |
执行key <Home>的函数 |
on key End |
执行key <End>的函数 |