ATK DLRK3568开发板板载资源上有四个可用按键,原理图如下:

首先正点原子的出厂内核已经默认将这个按键注册成了 adc keys类型设备.
验证key的软件很简单,非常简单。只需在ui上加一个label显示信息即可。

然后重写keyPressEvent和keyReleaseEvent方法,如下:
void keycontrolwidget::keyPressEvent(QKeyEvent *event) {
int key = event->key();
this->ui->label->setText("key: 0x" + QString::number(key,16) + "按下");
QWidget::keyPressEvent(event);
}
void keycontrolwidget::keyReleaseEvent(QKeyEvent *event) {
int key = event->key();
this->ui->label->setText("key: 0x" + QString::number(key,16) + "抬起");
QWidget::keyReleaseEvent(event);
}
实验记录可以看到,正点原子把四个按键注册详情
| id | name | No |
|---|---|---|
| key4 | Qt::Key_VolumeUp | 0x01000072 |
| key5 | Qt::Key_VolumeDown | 0x01000070 |
| key6 | Qt::Key_MenuKB | 0x010000dc |
| key7 | Qt::Key_Escape | 0x01000000 |