Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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


Ïà¹ØÎĵµ£º

linux½ø³ÌͨÐÅ ÐźÅÁ¿Ê¹ÓÃ

±êÌ⣺Linux½ø³ÌͨÐÅ-ʹÓÃÐźÅÁ¿
Ò»¡¢Ïà¹Ø֪ʶ
 ÐźÅÁ¿£ºÒ»¸öÕûÊý£»
  ´óÓÚ»òµÈÓÚ0ʱ´ú±í¿É¹©²¢·¢½ø³ÌʹÓõÄ×ÊԴʵÌåÊý£»
  СÓÚ0ʱ´ú±íÕýÔڵȴýʹÓÃÁÙ½çÇøµÄ½ø³ÌÊý£»
  ÓÃÓÚ»¥³âµÄÐźÅÁ¿³õʼֵӦ´óÓÚ0£»
  Ö»ÄÜͨ¹ýP¡¢VÔ­Óï²Ù×÷¶ø¸Ä±ä£»
 ÐźÅÁ¿ÔªËØ×é³É£º
  1¡¢±íʾÐźÅÁ¿ÔªË ......

linuxͼÐνçÃæ±à³Ì»ù±¾ÖªÊ¶

ÒýÓÃ
×÷Õß:GuCuiwen email:win2linux@163.com
   ºÜ¶àLINUX³õѧÕß·Ö²»Çå³þlinuxºÍXÖ®¼ä,XºÍXfree86Ö®¼ä,XºÍKDE,GNOMEµÈÖ®¼äÊÇʲô¹Øϵ.³£³£»ìÏý¸ÅÄî,ÎÒÏëÒԱȽÏÒ×ÓÚÀí ½âµÄ·½Ê½ËµÃ÷Ò»ÏÂX,X11,XFREE,WM,KDE,GNOMEµÈÖ®¼äµÄ¹Øϵ.ÓÉÓÚ±¾ÈËˮƽÓÐÏÞ¿ÉÄÜ´æÔÚ´íÎó,Çë¸ßÊÖÖ¸Õý.
Ò»,linux±¾ÉíûÓÐͼÐνçÃæ,linuxÏÖÔÚµÄÍ ......

ǶÈëʽLinux²Ù×÷ϵͳѧϰ¹æ»®

ARM+LINUX·Ïߣ¬Ö÷¹¥Ç¶ÈëʽLinux²Ù×÷ϵͳ¼°ÆäÉÏÓ¦ÓÃÈí¼þ¿ª·¢Ä¿±ê£º 
£¨1£©ÕÆÎÕÖ÷Á÷ǶÈëʽ΢´¦ÀíÆ÷µÄ½á¹¹ÓëÔ­Àí£¨³õ²½¶¨Îªarm9£© 
£¨2£©±ØÐëÕÆÎÕÒ»¸öǶÈëʽ²Ù×÷ϵͳ£¨³õ²½¶¨Îªuclinux»òlinux,°æ±¾´ý¶¨£© 
£¨3£©±ØÐëÊìϤǶÈëʽÈí¼þ¿ª·¢Á÷³Ì²¢ÖÁÉÙ×öÒ»¸öǶÈëʽÈí¼þÏîÄ¿¡£ 
´ÓÊÂǶÈëʽÈí¼þ¿ª·¢µÄºÃ´¦ÊÇ ......

LinuxµÄInput Device

      Linux µÄ Input Device ÊÇÖØÒªµÄÒ»個 subsystem£¬ÔÚ進ÐÐ實Àý½é紹Ç°£¬ÏÈ´óÂÔÁ˽âÒ»ÏÂÏà關µÄ API¡£input.cÊÇLinuxµÄÊäÈë驅動³Ìʽ£¬Ö÷ÒªÖ§Ô®鍵盤與»¬ÊóµÄ輸È룻input.c½éÃæÌØÊâµÄµØ·½ÊÇ採ÓÃÁËʼþ£¨event£©µ ......

dzÎölinux¼üÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì

£¨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ϵÄĿ¼ºÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ