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)
Ïà¹ØÎĵµ£º
./configure ¼ì²éϵͳÐÅÏ¢
./configure --help | more °ïÖúÐÅÏ¢
make clean   ......
ÔÚLinuxÄÚºËÀïÄÚ´æ¿ÉÒÔºÍÓ²ÅÌ¿Õ¼äͨÓõģ¬µ±ÄÚ´æÀûÓúÜÉÙʱ£¬Êý¾Ý¿ÉÒÔ´æµ½ÄÚ´æÀ·´Ö®Ó²ÅÌ¿Õ¼ä¿ÉÒÔÓÃÀ´µ±ÄÚ´æÓõ«ÊÇÓиö¹²Í¬µãÊý¾Ý×ÜÊÇÏÖÔÚÄÚ´æÀï²Ù×÷ÔÙд»Øµ½Ó²ÅÌÉϵġ£ÓÉÓÚÕâ¸öÔÒò£¬¿é´æ´¢É豸±»µ±³Éºó±¸´æ´¢Æ÷¡£
LinuxÌṩÁËÁ½ÖÖ²Ù×÷µÄ·½·¨£º
1 ºǫ́½ø³Ì²»Í£µÄ¼ì²éϵͳÄÚ´æÖÜÆÚÐÔµÄд²Ù×÷
2 µ±ÏµÍ³ÓÐÌ«¶àµÄÔàÒ³ÐèÒª ......
http://blog.csdn.net/adcxf/archive/2009/03/14/3989725.aspx
¹² ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£¬±ØÈ»ÐèÒ ......
Linux·¢Ðа汾֮¼äµÄ²î±ðÆäʵºÜÉÙ£¬²î±ðÖ÷Òª±íÏÖÔÚϵͳ¹ÜÀíµÄÌØÉ«¹¤¾ßÒÔ¼°Èí¼þ°ü¹ÜÀí·½Ê½µÄ²»Í¬£¬³ý´ËÖ®Í⣬ûÓÐʲô´óµÄ²î±ð£» ±ÈÈçFedoraÈí¼þ°ü¹ÜÀí¹¤¾ßÊÇrpm£¬¶øSlackwareÊÇpkgtool »òinstallpkgµÈ£»
ÑÔ¹éÕý´«£¬ÎÒÃǽÓ×Å˵Îļþϵͳ×éÖ¯½á¹¹¡£
/ LinuxÎļþϵͳµÄÈë¿Ú£¬Ò²ÊÇ´¦ÓÚ×î¸ßÒ»¼¶µÄĿ¼£»
/bin »ù´¡ÏµÍ³ËùÐèÒªµ ......
½«¿ÉÒƶ¯É豸Á¬Èëϵͳʱ£¬ÏµÍ³µÄºǫ́ÖлáÒÀ´Î·¢ÉúÈçÏÂʼþ£º
l Äں˼ì²âµ½ÐÂÓ²¼þ²åÈ룬Ȼºó·Ö±ð֪ͨhotplugºÍudev¡£Ç°ÕßÓÃÀ´×°ÈëÏàÓ¦µÄÄÚºËÄ£¿é(Èçusb-storage)£¬¶øºóÕßÓÃÀ´ÔÚ/devÖд´½¨ÏàÓ¦µÄÉ豸½Úµã(Èç/dev/sda1)¡£
l udev´´½¨ÁËÏàÓ¦µÄÉ豸½ÚµãÖ®ºó£¬»á½«ÕâÒ»ÏûϢ֪ͨhalµÄÊØ»¤³ÌÐò(hald)¡£µ±È»udev»¹µÃ±£Ö¤Ð ......