LinuxÉ豸ģÐÍÖ®input×ÓϵͳÏê½â(¶þ)
; break;
}
if (type != EV_SYN)
dev->sync = 0;
if ((disposition & INPUT_PASS_TO_DEVICE) && dev->event)
dev->event(dev, type, code, value);
if (disposition & INPUT_PASS_TO_HANDLERS)
input_pass_event (dev, type, code, value);
}
ÔÚÕâÀï,ÎÒÃǺöÂÔµô¾ßÌåʼþµÄ´¦Àí.µ½×îºó,Èç¹û¸ÃʼþÐèÒªinput deviceÀ´Íê³ÉµÄ,¾Í»á½«dispositionÉèÖóÉINPUT_PASS_TO_DEVICE.Èç¹ûÐèÒªhandlerÀ´Íê³ÉµÄ,¾Í½«dispostionÉèΪINPUT_PASS_TO_DEVICE.Èç¹ûÐèÒªÁ½Õß¶¼²ÎÓë,½«dispositionÉèÖÃΪINPUT_PASS_TO_ALL.
ÐèÒªÊäÈëÉ豸²ÎÓëµÄ,»Øµ÷É豸µÄeventº¯Êý.Èç¹ûÐèÒªhandler²ÎÓëµÄ.µ÷ÓÃinput_pass_event().´úÂëÈçÏÂ:
static void input_pass_event(struct input_dev *dev,
unsigned int type, unsigned int code, int value)
{
struct input_handle *handle;
rcu_read_lock();
handle = rcu_dereference(dev->grab);
if (handle)
Ïà¹ØÎĵµ£º
ÔÚÎҵıʼDZ¾¼ÆËã»úÉÏ£¬WindowsXPÅܵÄÔ½À´Ô½Âý£¬ÖÕÓÚϾöÐÄÖØ×°Ò»±é£¬Ï£ÍûÊÇ×îºóÒ»´Î°²×°WindowsXPÁË¡£¿ÉÊÇÓÖ²»Ì«¸ÊÐÄ£¬¾õµÃ»¨µÄʱ¼ä²»Ì«ÖµµÃ£¬²»¹ý£¬×î½ü¾ÀúÁ˼¸´ÎWindows vs GNU/Linux µÄÕùÂÛ£¬ÓÚÊÇ×Ðϸ¼Ç¼һϰ²×°¹ý³Ì£¬¿ÉÒÔÓп͹ÛÒ»µãµÄÊý¾Ý×ö±È½Ï¡£
ÎҵıʼDZ¾ÊÇDELL INSPIRON 600m£¬pentium-M 1.5GHz, 40GB Ó²ÅÌ, ......
LinuxϵͳÏ»ù±¾ÃüÁ 񻂿·Ö´óСд uname ÏÔʾ°æ±¾ÐÅÏ¢£¨Í¬win2KµÄ ver£© dir ÏÔʾµ±Ç°Ä¿Â¼Îļþ,ls -al ÏÔʾ°üÀ¨Òþ²ØÎļþ£¨Í¬win2KµÄ dir£© pwd ²éѯµ±Ç°ËùÔÚµÄĿ¼λÖà cd cd¡¡..»Øµ½ÉÏÒ»²ãĿ¼£¬×¢Òâcd Óë..Ö®¼äÓпոñ¡£cd¡¡/·µ»Øµ½¸ùĿ¼¡£ cat ÎļþÃû ²é¿´ÎļþÄÚÈÝ cat >abc.txt Íùabc.txtÎļþÖÐдÉÏÄÚÈÝ¡£ more Î ......
¶ÔÓÚÒ»¸öÎļþÀ´Ëµ£¬ÓÐΨһµÄË÷Òý½ÓµãÓëÖ®¶ÔÓ¦£¬¶ø¶ÔÓÚÒ»¸öË÷Òý½ÓµãºÅ£¬È´¿ÉÒÔÓжà¸öÎļþÃûÓëÖ®¶ÔÓ¦¡£Òò´Ë£¬ÔÚ´ÅÅÌÉϵÄͬһ¸öÎļþ¿ÉÒÔͨ¹ý²»Í¬µÄ·¾¶È¥·ÃÎÊ
¸ÃÎļþ¡£
¡¡¡¡£±.Á¬½ÓÓÐÈíÁ¬½ÓºÍÓ²Á¬½Ó(hard link)Ö®·ÖµÄ£¬ÈíÁ¬½Ó(symbolic
link)ÓֽзûºÅÁ¬½Ó¡£·ûºÅÁ¬½ÓÏ൱ÓÚWindowsϵĿì½Ý·½Ê½¡£
ÈíÁ´½Óʵ¼ÊÉÏÖ»ÊÇÒ»¶ÎÎÄ× ......
½«¿ÉÒÆ¶¯É豸Á¬Èëϵͳʱ£¬ÏµÍ³µÄºǫ́ÖлáÒÀ´Î·¢ÉúÈçÏÂʼþ£º
l Äں˼ì²âµ½ÐÂÓ²¼þ²åÈ룬Ȼºó·Ö±ð֪ͨhotplugºÍudev¡£Ç°ÕßÓÃÀ´×°ÈëÏàÓ¦µÄÄÚºËÄ£¿é(Èçusb-storage)£¬¶øºóÕßÓÃÀ´ÔÚ/devÖд´½¨ÏàÓ¦µÄÉ豸½Úµã(Èç/dev/sda1)¡£
l udev´´½¨ÁËÏàÓ¦µÄÉ豸½ÚµãÖ®ºó£¬»á½«ÕâÒ»ÏûϢ֪ͨhalµÄÊØ»¤³ÌÐò(hald)¡£µ±È»udev»¹µÃ±£Ö¤Ð ......
˵Ã÷£º±¾ÎÄÒÔÖ÷ÒªÎª×ªÔØÄÚÈÝ£¬Í¬Ê±¼ÓÈëÁËÎÒÔÚʹÓùý³ÌÖÐÓöµ½ÎÊÌâ¶ÔÆäµÄÐÞÕý£¡£¡£¡£¡£¡£¡£¡£¡£¡
ÏÈ˵statfs½á¹¹£º
#include <sys/vfs.h> /* »òÕß <sys/statfs.h> */
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
²ÎÊý£º ......