键盘驱动的问题,请教各位专家!

我正在写一个键盘的驱动程序,驱动的具体要求是这样的:
键盘采用扫描的方式,没有按键中断,要求能够在这个驱动不影响其他外接键盘的使用;要求键盘按键发送的数据和标准键盘的一样;
在写驱动的过程中碰到几个问题不知道该怎么解决,请大家指点一二:
1.我按照bsp里的例子(devi-sample)做了一个使用时钟中断的驱动,可是在/dev下没看到它注册的设备,不知道怎么验证驱动是否正确(是否在工作?是否发送的数据正确?是否能够和已经运行的devi-hirun不冲突?);
2.1的方法没法验证,我又自己写了个驱动,简单的等用户读取按键信息时返回一个keyboard_packet结构的数据,在key_scan里填充扫描码,对F1这样的键我填入{ESC O} P这样的字节是否正确,其他几个参数该怎么填才对?
结构如下:
struct keyboard_data{
unsigned long modifiers;
unsigned long flags;
unsigned long key_cap;
unsigned long key_sym;
unsigned long key_scan;
};

struct kbd_packet{
struct timespec time;
struct keyboard_data data;
};

给点提示吧,各位老大

一般来说键盘驱动需要两个模快 - 协议模快与接口模快.
告诉我你的电邮地址,我可以给你一个例子,应该不是很麻烦.

谢谢comquter,
我刚做完,测试了一下都没有问题,和标准键盘一样而且不冲突,呵呵。
就是用sample改的,自己加了个协议模块,没用第二种方案