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
Ïà¹ØÎĵµ£º
ÎÒÃǽâÊÍFilesystem Hierarchy Standard(FHS)Ëù¶¨ÒåµÄ×éÖ¯½á¹¹¡£ Êý¾ÝÀàÐÍ ÎļþϵͳÊÇÓÃÀ´±£´æÊý¾ÝµÄ£¬²»Í¬ÀàÐ͵ÄÊý¾ÝÓ¦¸Ã·ÅÔÚÎļþϵͳÉϵIJ»Í¬Î»Öá£Òò´Ë£¬µÚÒ»²½±ØÐëÏÈÀíÇåÈçºÎ·ÖÀàÊý¾Ý¡£FHS½«Êý¾ÝµÄÊôÐÔ·ÖΪÁ½À࣬¸÷ÀàÊôÐÔ¸÷ÓÐÁ½ÖÖ½ØÈ»Ïà·´µÄÐÔÖÊ¡£ ¹²ÏíÐÔ£¨Êý¾ÝÓÃÓÚÍøÂç»·¾³ÖеÄÓ¦Ó÷¶Î§£© 1.¹²Ïí£º¿É¹©ÍøÂçÉϵĶภ......
ÊØ»¤½ø³ÌÒ²³ÆΪ¾«Áé½ø³Ì£¬ÊÇÒ»ÖÖÔËÐÐÔÚºǫ́µÄÌØÊâ½ø³Ì£¬Ëü²»´æÔÚ¿ØÖÆÖնˣ¬²¢ÖÜÆÚÐÔµØÖ´ÐÐijÏîÈÎÎñ»òµÈ´ý´¦ÀíijÏîÈÎÎñ¡£
ÊØ»¤½ø³ÌÌص㣺
l ËùÓеÄÊØ»¤½ø³Ì¶¼ÊÇÒÔ³¬¼¶Óû§Æô¶¯µÄ(UIDΪ0)£»
l ûÓпØÖÆÖÕ¶Ë(TTYΪ£¿)£»
l Öն˽ø³Ì×éIDΪ-1(TPGID±íʾÖն˽ø³Ì×éID£¬¸ÃÖµ±íʾÓë¿ØÖÆÖÕ¶ËÏà¹ØµÄǰ̨½ø³Ì×é£ ......
Ò»Ö±ÒÔÀ´ÎÒµÄÎÄÕ¶¼ÊÇÒÔ¹¤×÷±Ê¼ÇµÄÐÎʽ´æÔÚ¡£Õâ¶ÔÓÚ×Ô¼º¶ÁÆðÀ´Ã»Ê²Ã´´ó°£¬µ«ÊǶÔÓÚÆäËû¶ÁÕß¿ÉÄܾÍÓÐЩÃÔã¡£ÎÒ¾¡Á¿¸Ä¸Ä£¬»»ÖÖ·½Ê½¡£
1. MySQL µÄ°æ±¾
Èç¹ûÒªÖ§³Ö·ÖÇø±í£¬ÔòÓ¦¸ÃʹÓà 5.1.x ÒÔÉϵİ汾¡£Èç
mysql> show variables like '%version%';
+-------------------------+------------------------------ ......
£¨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ϵÄĿ¼ºÍ ......