LinuxÊäÈë×Óϵͳ·ÖÎö
ת×Ôhttp://blog.csdn.net/colorant/archive/2007/04/12/1561837.aspx
1 ÊäÈë×Óϵͳ¼Ü¹¹Overview
ÊäÈë×Óϵͳ£¨Input Subsystem£©µÄ¼Ü¹¹ÈçÏÂͼËùʾ
ÊäÈë×ÓϵͳÓÉ ÊäÈë×ÓϵͳºËÐIJ㣨 Input Core £©£¬Çý¶¯²ãºÍʼþ´¦Àí²ã£¨Event Handler£©Èý²¿·Ý×é³É¡£Ò»¸öÊäÈëʼþ£¬ÈçÊó±êÒƶ¯£¬¼üÅÌ°´¼ü°´Ï£¬joystickµÄÒƶ¯µÈµÈͨ¹ý Driver -> InputCore -> Eventhandler -> userspace µÄ˳Ðòµ½´ïÓû§¿Õ¼ä´«¸øÓ¦ÓóÌÐò¡£
ÆäÖÐInput Core ¼´ Input Layer ÓÉ driver/input/input.c¼°Ïà¹ØÍ·ÎļþʵÏÖ¡£¶ÔÏÂÌṩÁËÉ豸Çý¶¯µÄ½Ó¿Ú£¬¶ÔÉÏÌṩÁËEvent Handler²ãµÄ±à³Ì½Ó¿Ú¡£
1.1 Ö÷ÒªÊý¾Ý½á¹¹
±í 1 Input Subsystem main data structure
Êý¾Ý½á¹¹
ÓÃ;
¶¨ÒåλÖÃ
¾ßÌåÊý¾Ý½á¹¹µÄ·ÖÅäºÍ³õʼ»¯
Struct input_dev
Çý¶¯²ãÎïÀíInputÉ豸µÄ»ù±¾Êý¾Ý½á¹¹
Input.h
ͨ³£ÔÚ¾ßÌåµÄÉ豸Çý¶¯ÖзÖÅäºÍÌî³ä¾ßÌåµÄÉ豸½á¹¹
Struct Evdev
Struct Mousedev
Struct Keybdev…
Event Handler²ãÂß¼InputÉ豸µÄÊý¾Ý½á¹¹
Evdev.c
Mousedev.c
Keybdev.c
Evdev.c/Mouedev.c …ÖзÖÅä
Struct Input_handler
Event HandlerµÄ½á¹¹
Input.h
Event Handler²ã£¬¶¨ÒåÒ»¸ö¾ßÌåµÄEvent Handler¡£
Struct Input_handle
ÓÃÀ´´´½¨Çý¶¯²ãDevºÍHandlerÁ´±íµÄÁ´±íÏî½á¹¹
Input.h
Ev
Ïà¹ØÎĵµ£º
´´½¨×ÀÃæͼ±ê
Ä¿Ç°½«ÍøÂçÓ¦ÓÃÀ©Õ¹µ½×ÀÃæÊÇÒ»¸öÇ÷ÊÆ£¬´æÔÚןܶà½â¾ö·½°¸£¬±¾ÎÄÒÔ Mozilla Prism ΪÀý£¬ÀàËƵķ½·¨Í¬ÑùÊÊÓÃÓÚ Google Chrome ¡£
1. µ½ Mozilla Prism µÄÍøÕ¾ÉÏÏÂÔØ Prism£¬µã»÷ Download Now Ö®ºó»áÌáʾÓÐÁ½ÖÖ£¬Ò»ÖÖÊÇÒÔ Mozilla Firefox À©Õ¹µÄ·½Ê½£¬ÊʺÏÒѾ°²×°ÓÐ Firefox µÄÅóÓÑ£»Ò»Ö ......
ÎÞÂÛ΢ÈíÈçºÎרעÓÚ×ÀÃ棬XµÄÉè¼Æ»¹ÊÇÄÜÈÃËûÃǺ¹ÑÕ¡£±È½ÏÒ»ÏÂWindowsÔ¶³Ì×ÀÃæ(2008ServerÖÕÓÚÓÐËù¸Ä½ø)ºÍXת·¢µÄЧ¹û¾Í¿ÉÒÔÀí½â£¬ÎªÊ²Ã´*nixµÄÊÀ½çÀïÏÔʾGUI»·¾³ÒÀ¿¿µÄ¾¹È»ÊÇServer-Client¼Ü¹¹¡£
ÔÚWindowsÏ£¬Ö»ÒªÊµÏÖÁ½¸öÒªËؾͿÉÒÔʵÏÖXµÄת·¢£º1.X Server·þÎñ£»2.ssh¿Í»§¶Ë¡£Ç°Õß¿ÉÒÔÓÃXming£¬ºóÕß¿ÉÒÔÓÃputty»òopenS ......
Öܺ£ºº /ÎÄ
2010.4.22
¿´¼¯ÈºµÄ¶«Î÷ʱÎÞÒâÖп´µ½¼¸ÄêÇ°Á÷Ðеķֲ¼Ê½¿Æѧ¼ÆËãseti@home£¬ÃÀ¹ú²®¿ËÀû´óѧµÈ¿Æѧ½çÓÃÓÚ¼ÆËãÌìÌåÊý¾ÝµÄ¡£SETI@home ÊÇÒ»ÏîÀûÓÃÈ«ÇòÁªÍøµÄ¼ÆËã»ú¹²Í¬ËÑÑ°µØÍâÎÄÃ÷£¨SETI£©µÄ¿ÆѧʵÑé¼Æ»®¡£Äã¿ÉÒÔͨ¹ýÔËÐÐÒ»¸öÃâ·Ñ³ÌÐòÏÂÔز¢·ÖÎö´ÓÉäµçÍûÔ¶¾µ´«À´µÄÊý¾ÝÀ´¼ÓÈëÕâ¸öÏîÄ¿¡£ ²»¹ýÎÒÔÙ´ÎʹÓÃÆä¿Í»§¶ËÊ ......
Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹Ç°£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£input.cÊÇLinuxµÄÊäÈë驅動³Ìʽ£¬Ö÷ÒªÖ§Ô®鍵盤與»¬ÊóµÄ輸È룻input.c½éÃæÌØÊâµÄµØ·½ÊÇ採ÓÃÁËʼþ£¨event£©µ ......
£¨1£©ÔÚ\drivers\input\Input.cÖС£
A£¬subsys_initcall(input_init);
B£¬static int __init input_init(void)ÖÐÍê³É¼¸¸öÖØÒªµÄ²Ù×÷£º
err = class_register(&input_class);ÒÔÊäÈëÀ෽ʽע²áÀà
input_proc_init(); //´´½¨procϵÄĿ¼ºÍ ......