30 {
31 switch(event_key.code)
32 {
33 case KEY_F1:
34 {
35 if(event_key.value == 1)
36 printf('key1 pressedn');
37 else if(event_key.value == 0)
38 printf('key1 releasedn');
39 }
40 break;
41 case KEY_F2:
42 {
43 if(event_key.value == 1)
44 printf('key2 pressedn');
45 else if(event_key.value == 0)
46 printf('key2 releasedn');
47 }
48 break;
49 case KEY_F3:
50 {
51 if(event_key.value == 1)
52 printf('key3 pressedn');
53 else if(event_key.value == 0)
54 printf('key3 releasedn');
55 }
56 break;
57 case KEY_F4:
58 {
59 if(event_key.value == 1)
60 printf('key4 pressedn');
61 else if(event_key.value == 0)
62 printf('key4 releasedn');
63 }
64 break;
65 }
66 }
67
68 }
69
70 close(fd);
71 return 0;
72 }
三、LCD显示屏移植
在arch/arm/mach-s3c64xx/mach-mini6410.c修改显示代码:
1 static struct s3c_fb_pd_win mini6410_fb_win[] = {
2 {
3 .win_mode = { /* 7.0' 800x480 */
4 .left_margin = 0x2c,//26,
5 .right_margin = 0xd2,//210,
6 .upper_margin = 0x15,//13,
7 .lower_margin = 0x16,//22,
8 .hsync_len = 0x02,//20,
9 .vsync_len = 0x02,//10,
10 .xres = 800,
11 .yres = 480,
12 },
13 .max_bpp = 32,
14 .default_bpp = 16,
15 },
16 };
参数的值根据LCD显示屏规格书确定,具体参数解释及计算见博客http://blog.csdn.net/longxiaowu/article/details/24319933
执行make menuconfig修改内核配置,添加对LCD设备的支持:
Device Drivers --->
│ │ Input device support --->
│ │ Graphics support --->
│ │ <*> Support for frame buffer devices --->
│ │ <*> Samsung S3C framebuffer support
│ │ [*] Bootup logo ---> //开机显示小企鹅
│ │ --- Bootup logo │ │
│ │ [ ] Standard black and white Linux logo
│ │ [ ] Standard 16-color Linux logo
│ │ [*] Standard 224-color Linux logo
编译烧写内核并开机,屏幕上并没有看到小企鹅。加载Tiny6410一线触摸设备驱动之后小企鹅出来了,应该是Tiny6410 S70屏幕的背光是在一线触摸中进行打开的,由于一线触摸的协议并不开源所以没有进行深究。
上一篇:应用程序调用tslib出现segmentation fault
下一篇:Linux-2.6.39在Tiny6410上的移植
推荐阅读最新更新时间:2024-11-02 22:05