首页 > 代码库 > DirectFB学习笔记三

DirectFB学习笔记三

本篇目的,通过键盘的esc键控制程序退出。学习输入设备产生事件,接收事件,产生反应。

首先获取输入设备

IDirectFBInputDevice *keyboard = NULL;

dfb->GetInputDevice(dfb,DIDID_KEYBOARD,&keyboard);

将输入事件连接到事件buffer中

IDirectFBEventBuffer *buffer = NULL;

keyboard->CreateEventBuffer(keyboard,&buffer);

等待输入事件发生

buffer->WaitForEvent(buffer);

键盘按下esc键后读取事件

DFBInputEvent event;

buffer->GetEvent(buffer,DFB_EVENT(&event));

通过事件的类型来判断是否是键盘按键按下

event.type == DIET_KEYPRESS;

最后根据事件的按键id来判断是否是esc键

event.key_id == DIKI_ESCAPE;

exit(0);

DirectFB学习笔记三