关于键盘驱动

我想在QNX下写一个键盘驱动,大家给点思路啊。
以前的贴子,computer 说,键盘驱动需要两个模快 - 协议模快与接口模快.
这两个模块分别做什么?如何通知应用程序按键按下了呢,通过消息吗?

对于应用程序(我使用photon),需要开线程去接收这些按键消息吗?

另外,好像bsp里有个例子devi-sample,在什么地方能找到这个例子呢