LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â(Ò»)
------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô´´,»¶Ó×ªÔØ!
×ªÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»£ºÇ°ÑÔ
ÔÚ¼üÅÌÇý¶¯´úÂë·ÖÎöµÄ±Ê¼ÇÖУ¬½Ó´¥µ½ÁËinput×Óϵͳ.¼üÅÌÇý¶¯£¬¼üÅÌÇý¶¯½«¼ì²âµ½µÄËùÓа´¼ü¶¼Éϱ¨¸øÁËinput×Óϵͳ¡£Input×ÓϵͳÊÇËùÓÐI/OÉ豸Çý¶¯µÄÖмä²ã£¬ÎªÉϲãÌṩÁËÒ»¸öͳһµÄ½çÃæ¡£ÀýÈ磬ÔÚÖÕ¶ËϵͳÖУ¬ÎÒÃDz»ÐèҪȥ¹ÜÓжàÉÙ¸ö¼üÅÌ£¬¶àÉÙ¸öÊó±ê¡£ËüÖ»Òª´Óinput×ÓϵͳÖÐȥȡ¶ÔÓ¦µÄʼþ(°´¼ü£¬Êó±êÒÆÎ»µÈ)¾Í¿ÉÒÔÁË¡£½ñÌì¾Í¶Ôinput×Óϵͳ×öÒ»¸öÏ꾡µÄ·ÖÎö.
ÏÂÃæµÄ´úÂëÊÇ»ùÓÚlinux kernel 2.6.25.·ÖÎöµÄ´úÂëÖ÷ҪλÓÚkernel2.6.25/drivers/inputÏÂÃæ.
¶þ£ºÊ¹ÓÃinput×ÓϵͳµÄÀý×Ó
ÔÚÄÚºË×Ô´øµÄÎĵµDocumentation/input/input-programming.txtÖС£ÓÐÒ»¸öʹÓÃinput×ÓϵͳµÄÀý×Ó£¬²¢¸½´øÏàÓ¦µÄ˵Ã÷¡£ÒÔ´ËΪÀý·ÖÎöÈçÏ£º
#include <linux/input.h>
#include <linux/module.h>
#include <linux/init.h>
#include <asm/irq.h>
#include <asm/io.h>
static void button_interrupt(int irq, void *dummy, struct pt_regs *fp)
{
input_report_key(&button_dev, BTN_1, inb(BUTTON_PORT) & 1);
input_sync(&button_dev);
}
static int __init button_init(void)
{
if (request_irq(BUTTON_IRQ, button_interrupt, 0, "button", NULL)) {
printk(KERN_ERR "button.c: Can't allocate irq %d\n", button_irq);
return -EBUSY;
}
button_dev.evbit[0] = BIT(EV_KEY);
button_dev.keybit[LONG(BTN_0)] = BIT(BTN_0);&n
Ïà¹ØÎĵµ£º
ÔÚÎҵıʼDZ¾¼ÆËã»úÉÏ£¬WindowsXPÅܵÄÔ½À´Ô½Âý£¬ÖÕÓÚϾöÐÄÖØ×°Ò»±é£¬Ï£ÍûÊÇ×îºóÒ»´Î°²×°WindowsXPÁË¡£¿ÉÊÇÓÖ²»Ì«¸ÊÐÄ£¬¾õµÃ»¨µÄʱ¼ä²»Ì«ÖµµÃ£¬²»¹ý£¬×î½ü¾ÀúÁ˼¸´ÎWindows vs GNU/Linux µÄÕùÂÛ£¬ÓÚÊÇ×Ðϸ¼Ç¼һϰ²×°¹ý³Ì£¬¿ÉÒÔÓп͹ÛÒ»µãµÄÊý¾Ý×ö±È½Ï¡£
ÎҵıʼDZ¾ÊÇDELL INSPIRON 600m£¬pentium-M 1.5GHz, 40GB Ó²ÅÌ, ......
Shell½Å±¾¼°Æä³É·Ö
ShellÊÇÒ»¸ö¹¦ÄÜÇ¿´óµÄ±à³ÌÓïÑÔ¡£ÓÃShell±àдµÄÅú´¦ÀíÎļþ³ÆÎªShell½Å±¾¡¢
Shell½Å±¾µÄ³É·Ö
-×¢ÊͲ¿·Ö
ÒÔ#¿ªÍ·µÄÐÐ
-ÃüÁî
ÔÚShell½Å±¾ÖпÉÒÔ³öÏÖÈκÎÔÚ½»»¥·½Ê½Ï¿ÉÒÔʹÓõÄÃüÁî
-±äÁ¿
¼È¿ÉÒÔʹÓÃÓû§×Ô¶¨ÒåµÄ±äÁ¿£¬Ò²¿ÉÒÔʹÓÃϵͳ»·¾³±äÁ¿
-Á÷³Ì¿ØÖÆ
¶ÔÃüÁîµÄÖ´ÐÐÁ÷³ ......
Ò»¡¢±¾´ÎÄں˱àÒëÐÂÄÚºËËùÉæ¼°Èí¼þ°æ±¾
“gcc –version”¿É²éѰGCC°æ±¾------4.3.2 20081105£¨Red Hat 4.3.2-7£©
“make –v”¿É²éѯ Gnu make°æ±¾-----3.81
“ld –V£¨v£©¿É²éѯGNU ld°æ±¾-----2.18.50.0.9-7¡£f c10 20080822
“fdformat --version”ÃüÁî ......
ËäȻѧ¹ý
Linux Shell
±à³Ì£¬µ«ÓÉÓÚ±àд
Shell
½Å±¾µÄ»ú»áʵÔÚÊDZȽÏÉÙ
(
ͨ³£ÔÚÏîÄ¿³õÆÚ´î½¨¿ª·¢»·¾³Ê±±àдµÃ±È½Ï
¶àһЩ
)
£¬ËùÒÔÒ»
ЩÓï·¨¾Ã¶ø¾ÃÖ®¾Í»áÍüÁË£¬Ò»¸ö¼òµ¥µÄÓ﷨ȥ·ÊéЧÂÊʵÔÚÊÇÂý£¬ËùÒԾ͸öÈËÕûÀíÁËÒ»¸ö±í¸ñ£¬ÓÉÓÚÎÒÓõıà³ÌÓïÑÔÊÇ
C/C++
£¬ËùÒÔÔÚ±à³ÌµÄʱºòÍùÍùÄÔº£ÀïÃæÊ×
Ïȸ¡ÏÖµÄÊÇÓÃ
C
......