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
Ïà¹ØÎĵµ£º
LinuxϵͳÏ»ù±¾ÃüÁ 񻂿·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......
×Ô¼ºÒÔǰ¶ÔLinuxϵÄÐéÄâ»úû×Ô¼º²é¹ý£¬
ºóÀ´·¢ÏÖijQQȺÄÚÓÐÒ»ÈËÓÃSun VirtualBox£¬
¹þ¹þ£¬µ±È»£¬²»ÓÃÎÒ˵£¬ÄãÒ»¶¨ÖªµÀ¾ÍÊÇÄǸöÍæÒâÁË£¬ÒòΪÊÇSunÍ˳öJava£¬JavaÓÖÊÇ¿çÆ½Ì¨µÄ£¨²»¹ýÐéÄâ»úJAVA¿ÉÄÜ×ö²»ÁË£©£¬Æ¾Ö±¾õ¾Í²ÂµÃ³öÀ´Õâ¸öVirtualBoxÒ»¶¨ÊÇ¿çÆ½Ì¨µÄ£¡£¡
Ö§³ÖWindows
MAC OSX
Linux
Solaris and OpenSolaris
»¹ ......
½«¿ÉÒÆ¶¯É豸Á¬Èëϵͳʱ£¬ÏµÍ³µÄºǫ́ÖлáÒÀ´Î·¢ÉúÈçÏÂʼþ£º
l Äں˼ì²âµ½ÐÂÓ²¼þ²åÈ룬Ȼºó·Ö±ð֪ͨhotplugºÍudev¡£Ç°ÕßÓÃÀ´×°ÈëÏàÓ¦µÄÄÚºËÄ£¿é(Èçusb-storage)£¬¶øºóÕßÓÃÀ´ÔÚ/devÖд´½¨ÏàÓ¦µÄÉ豸½Úµã(Èç/dev/sda1)¡£
l udev´´½¨ÁËÏàÓ¦µÄÉ豸½ÚµãÖ®ºó£¬»á½«ÕâÒ»ÏûϢ֪ͨhalµÄÊØ»¤³ÌÐò(hald)¡£µ±È»udev»¹µÃ±£Ö¤Ð ......
LinuxÔ´Âë°²×°Subversion
ÏÈ´ÓsubversionµÄ¹Ù·½ÍøÕ¾ÏÂÔØÔ´Â룬subversion.apache.org
½âѹ¿ªµ½subversion-xxx È»ºóconfigure
È»ºóÒ»°ã¾ÍÊÇÕÒ²»µ½Ä³Ä³¿âµÄ´íÎó£¬ÒÔÏÂ˵Ã÷
1.ÕÒ²»µ½sqlite3
´ÓsqliteÍøÕ¾ÉÏÏÂÔØsqlite3µÄÔ´Â룬Ȼºó°Ñsqlite3.c¿½±´µ½ subversion-xxx/sqlite-amalgamation/sqlite3.c
2.ÕÒ²»µ½apr
......
µ±ÔÚLinuxÏÂÆµ·±´æÈ¡Îļþ
ºó£¬ÎïÀíÄÚ´æ»áºÜ¿ì±»Óù⣬µ±³ÌÐò
½áÊøºó£¬ÄÚ´æ²»»á±»Õý³£ÊÍ·Å£¬¶øÊÇÒ»Ö±×÷Ϊcaching¡£Õâ¸öÎÊÌâ£¬Ã²ËÆÓв»ÉÙÈËÔÚÎÊ£¬²»¹ý¶¼Ã»Óп´µ½ÓÐʲôºÜºÃ½â¾ö
µÄ°ì·¨¡£ÄÇôÎÒÀ´Ì¸Ì¸Õâ¸öÎÊÌâ¡£
Ò»¡¢Í¨³£Çé¿ö
ÏÈÀ´ËµËµfreeÃüÁî
£º
ÒýÓÃ
[root@server ~]# free -m
total used free shared buffers cac ......