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)
Ïà¹ØÎĵµ£º
ÔÚLinuxÄÚºËÀïÄÚ´æ¿ÉÒÔºÍÓ²Å̿ռäͨÓõ쬵±ÄÚ´æÀûÓúÜÉÙʱ£¬Êý¾Ý¿ÉÒÔ´æµ½ÄÚ´æÀ·´Ö®Ó²Å̿ռä¿ÉÒÔÓÃÀ´µ±ÄÚ´æÓõ«ÊÇÓиö¹²Í¬µãÊý¾Ý×ÜÊÇÏÖÔÚÄÚ´æÀï²Ù×÷ÔÙд»Øµ½Ó²ÅÌÉϵġ£ÓÉÓÚÕâ¸öÔÒò£¬¿é´æ´¢É豸±»µ±³Éºó±¸´æ´¢Æ÷¡£
LinuxÌṩÁËÁ½ÖÖ²Ù×÷µÄ·½·¨£º
1 ºǫ́½ø³Ì²»Í£µÄ¼ì²éϵͳÄÚ´æÖÜÆÚÐÔµÄд²Ù×÷
2 µ±ÏµÍ³ÓÐÌ«¶àµÄÔàÒ³ÐèÒª ......
×Ô¼ºÒÔǰ¶ÔLinuxϵÄÐéÄâ»úû×Ô¼º²é¹ý£¬
ºóÀ´·¢ÏÖijQQȺÄÚÓÐÒ»ÈËÓÃSun VirtualBox£¬
¹þ¹þ£¬µ±È»£¬²»ÓÃÎÒ˵£¬ÄãÒ»¶¨ÖªµÀ¾ÍÊÇÄǸöÍæÒâÁË£¬ÒòΪÊÇSunÍ˳öJava£¬JavaÓÖÊÇ¿çÆ½Ì¨µÄ£¨²»¹ýÐéÄâ»úJAVA¿ÉÄÜ×ö²»ÁË£©£¬Æ¾Ö±¾õ¾Í²ÂµÃ³öÀ´Õâ¸öVirtualBoxÒ»¶¨ÊÇ¿çÆ½Ì¨µÄ£¡£¡
Ö§³ÖWindows
MAC OSX
Linux
Solaris and OpenSolaris
»¹ ......
Linux·¢Ðа汾֮¼äµÄ²î±ðÆäʵºÜÉÙ£¬²î±ðÖ÷Òª±íÏÖÔÚϵͳ¹ÜÀíµÄÌØÉ«¹¤¾ßÒÔ¼°Èí¼þ°ü¹ÜÀí·½Ê½µÄ²»Í¬£¬³ý´ËÖ®Í⣬ûÓÐʲô´óµÄ²î±ð£» ±ÈÈçFedoraÈí¼þ°ü¹ÜÀí¹¤¾ßÊÇrpm£¬¶øSlackwareÊÇpkgtool »òinstallpkgµÈ£»
ÑÔ¹éÕý´«£¬ÎÒÃǽÓ×Å˵Îļþϵͳ×éÖ¯½á¹¹¡£
/ LinuxÎļþϵͳµÄÈë¿Ú£¬Ò²ÊÇ´¦ÓÚ×î¸ßÒ»¼¶µÄĿ¼£»
/bin »ù´¡ÏµÍ³ËùÐèÒªµ ......
ËäȻѧ¹ý
Linux Shell
±à³Ì£¬µ«ÓÉÓÚ±àд
Shell
½Å±¾µÄ»ú»áʵÔÚÊDZȽÏÉÙ
(
ͨ³£ÔÚÏîÄ¿³õÆÚ´î½¨¿ª·¢»·¾³Ê±±àдµÃ±È½Ï
¶àһЩ
)
£¬ËùÒÔÒ»
ЩÓï·¨¾Ã¶ø¾ÃÖ®¾Í»áÍüÁË£¬Ò»¸ö¼òµ¥µÄÓ﷨ȥ·ÊéЧÂÊʵÔÚÊÇÂý£¬ËùÒԾ͸öÈËÕûÀíÁËÒ»¸ö±í¸ñ£¬ÓÉÓÚÎÒÓõıà³ÌÓïÑÔÊÇ
C/C++
£¬ËùÒÔÔÚ±à³ÌµÄʱºòÍùÍùÄÔº£ÀïÃæÊ×
Ïȸ¡ÏÖµÄÊÇÓÃ
C
......